2005年8月29日

Vine 3.x 用 RPM の更新

Vine 3.1 の環境で作成した RPM パッケージの更新/新規公開をしました。

新規:
■ libid3tag
■ easyh10

更新:
■ dcraw
■ libqalculate, qalculate-gtk (旧:qalculate)

easyh10 は iriver 社の MP3 プレーヤー H10 のデータベースやプレイリストを作成するためのプログラムです。利用には libid3tag もインストールする必要があります。

Qalculate! は(おそらく)0.8.0 よりライブラリ部分と GUI 部分を別パッケージで公開するようになりましたので、それに合わせてパッケージも libqalculate, qalculate-gtk に変更しました。一応 Conflict を spec に書いておきましたので大丈夫だと思いますが、昔のパッケージを利用している場合は一度アンインストールをしてから再度インストールをして下さい。

本家では qalculate-kde も公開されているのですが、私は KDE 使いではありませんので公開できませんのでご了承下さい。

投稿者 kato : 21:45 | コメント (0) | トラックバック

2005年8月28日

Linux de H10

iriver 社のポータブル音楽プレーヤー H10 は iriver plus という専用ソフトを使ってデータベースを構築・更新をする必要があります。このデータベースを利用しなくても音楽自体は聴けるのですが、不便です。しかしながら iriver plus は当然ながら Linux で使えないため、データベース再構築のためだけに Windows を起動するという面倒なことをしていました。

最近 EasyH10 というものが公開されているということを知ったのでダウンロードをしてみました。いきなり configure でこけたので、ログを見ると libid3tag がないとのこと。Vine にはなさそうでしたので、libid3tag の本家より SRPM をダウンロードしてリビルド後インストール。

再度 configure を実行したがまたこけた。ここでようやく README を呼んでみるとどうやら libid3tag にパッチを当てる必要があるとのこと。従ってパッチを当てて libid3tag を入れ直したところ configure もうまく通り、コンパイルも成功しました。

早速利用をしてみた。まずはテンプレートファイルを H10 にコピー (H10 のマウント先は /mnt/usb)。当然この作業は最初の一回だけでよいです。

$ cp H10Intl_6GB_FW2.04-2.05.model /mnt/usb

そしてプレイリストは別スクリプトで独自に作成しているため単純にデータベースの更新だけを行ってみた

easyh10 -Unis -on -e CP932 /mnt/usb/

おぉ!きちんとデータベースが更新された!!最初 -e オプションをつけなかったので文字化けしまくりでしたが…

ということでファームウェアアップグレード時以外に iriver plus を使う必要がなくなりそうです。作者に感謝! 一応 RPM を作成しましたので、後日公開をしたいと思います。

投稿者 kato : 12:13 | コメント (0) | トラックバック

2005年8月12日

Linux スキルチェックテスト

本当のネタ元は slashdot.jp で、すでに私もおこなったのですが、某M氏もされたようですのでそれに勝手に応じる?形で書きます。

Linux というか "RedHat" Linux のスキルを確認するため以下の URL より
http://www.jp.redhat.com/training/camp_assess.html

■ RH033 Red Hat Linux 基本コース向け
■ RH133 Red Hat Linux システム管理コース向け
■ RH253 Red Hat ネットワークサーバ構築およびセキュリティ管理コース

の3種類のテストを行うことが出来ます。3番目は問題も見ていないのでコメントは出来ませんが2番目は RedHat 色がかなり強いため、Linux とは少し関係ないかもしれません。一般的には 1番目の基本コースをやってみるとよいかも。ただ、これも若干 RedHat の方言?もあって純粋な Linux スキルチェックではないですが。

たとえばフロッピーディスクの問題では、私は普段 mtool を利用しているためマウントをしない。それに、マウントをすることに関しては /etc/fstab にどう記述してあるかに依存をすると思うので RedHat な環境ではない人はスキルとは違う意味で分からないことになります。

まぁ、それでも基本コースに関してはそれなりによい結果でした。2番目は RedHat 色が強くなったことも影響してちょっと悪かったです。点数は…忘れました。

ところでこのテストが slashdot.jp で話題になった時にはテストをする際特に個人情報を入力しなくてもテストが出来たのに今では細かい個人情報を入力しないと次のステップに進めないようになっている。おそらくここで本当の個人情報を入力しないというのが一番のスキルチェックなのでは?という気がします。

投稿者 kato : 15:04 | コメント (0) | トラックバック

2005年8月 8日

PC-MW70J de Linux #7

なんとなく検索をしていたら私の他にも PC-MW70J に Linux を入れている方がいらっしゃった。どうやら彼(彼女?)は Debian を入れているらしい。しかも特に問題なくインストールできたそうだ。ただ、X に関しては相当最新のものを入れているようですので安定版の Debian をそのまま入れて X が使えるかどうかはよく分かりません。たぶん私よりもスキルが上と思われますのでかなりさらっとインストールして使えているようです。

そういえば使わないから無線 LAN は試してないなぁ。

参考 URL:
PC-MW70JにDebian GNU/Linuxを入れる
PC-MW70JにDebian GNU/Linuxを入れる (X 編)
PC-MW70JにDebian GNU/Linuxを入れる (無線 LAN 編)
PC-MW70JにLinuxを入れる (IDEコントローラ)

投稿者 kato : 10:10 | コメント (0) | トラックバック

2005年8月 5日

PC-MW70J de Linux #6

この機種のバッテリーは公称値で7.7時間もつことになっています。では実際の作業をしながらでは?ということで実験をしてみました。途中からもう少し条件をしっかりすればよかったと反省しているのですが、作業中に液晶の明るさなどを変えてしまっていますのであくまで参考ということで。以下が動作環境です。

最後の項目の通りバッテリーが 85% 分減るのに要する時間を計測しました。その結果、約145分程度(2時間半弱)でした。単純に計算すれば使い切るのには約170分(3時間弱)というところでしょうか。思ったよりも持たなかったという印象ですが、液晶をもうちょっと暗くすればもう少しもったことでしょう(具体的にどの程度とまではいえませんが…)。また、周波数を落としていたとはいえ、ほぼずっと負荷をかけ続けていたことを考えるとなんとか DVD 1本は見られるのではないでしょうか。そして、あまり負荷をかけない使い方であれば液晶の明るさにもよるでしょうが5時間はもつのでは?と思います。

また、機会があれば試してみたいと思います。その時にはそれなりに条件をきちんとしたいと思います。

投稿者 kato : 05:16 | コメント (0) | トラックバック

2005年8月 2日

PC-MW70J de Linux #5

前回でほぼすべての問題が解決されまして、通常の仕事に戻ることが出来ました。全体的に金属的なフレームですので汚れ等は気にならないと思っていたのですが、パームレストの部分は手の油というか汚れが結構気になりますね。あと、角張りすぎていてすこし手首が痛いかも。

昨日からメールの設定も行いました。sylpheed も Ver.2.0.0 が出たのでバージョンアップ。本家の sylpheed-2.0.0.tar.bz2 をダウンロード後、rpm -ta にてパッケージ化をしようとしたのですが、依存関係で怒られたので SPEC ファイルを少し書き換えました。 Vine の場合、複数バージョンの Gtk を混在させるため Gtk2 は gtk2 というパッケージになっていますので、依存パッケージもその名前に変えただけです。また、今まではスパムフィルターに SpamAssassin を利用していたのですが、sylpheed の標準は bogofilter のようですのでそちらに乗り換えました(どちらも Vine でパッケージ化されています)。

また、家の DVD コンポは DENON の D-MA5DV という USB 端子のついたもので、これを PC につなぐことによってパソコンのスピーカー代わりになるという優れものです。USB につないだらすんなり認識。/dev/dsp1 を指定して xmms でチェックするときちんと音が出ました。そういう意味では音が出ないとお困りの場合は USB オーディオなどの外部音源を利用するのもよいかも。

参考 URL(いずれも過去記事):
DENON 「D-MA5DV」
Sylpheed でスパムフィルターの覚え書き

投稿者 kato : 07:23 | コメント (0) | トラックバック

2005年8月 1日

PC-MW70J de Linux (目次)

Sharp PC-MW70J に Vine Linux 3.1(及び 3.2) のインストール、設定、調整のメモの目次を用意しておきます。今後もっとよい設定や解決した問題が見つかったら、または逆に新たな問題点が見つかったらエントリーとともにこの目次も更新したいと思います。なお、ここでのタイトルとブログのエントリーの表題とは異なっています。

  1. はじめに(購入理由) - Linux に関する情報ゼロ [2005/07/27]
  2. Vine Linux 3.1 のインストール及び初期設定
  3. VineLinux 3.2 のインストール(アップグレード)
  4. その他の話題
  5. 免責の言葉

Vine 4.x に関する情報は私の中でノウハウが蓄積次第紹介したいと思います。

投稿者 kato : 03:10 | コメント (5) | トラックバック

PC-MW70J de Linux #4

[-> 目次]

おそらく細かい設定は今日で最後になると思います。本当はビデオカードの部分をもう少しなんとかしたいですが使えるのでよしとします。やはり DMA 転送が出来ないとどうしようもないということでなんとかならないものかと調べたところ、どうも設定レベルではなんともならないということが分かってきました。

それでもなんとかしたいということで Google で検索をしていると Parallel IDE HDD への DMAアクセスができない。というページを見つけました。このページを参考にカーネルを修正することを決意しました。以下がそのパッチとなります(ここにファイル[linux-2.4.27_ich6m.patch]を置いておきます )。

diff -uNr linux-2.4.27/drivers/ide/pci/piix.c linux-2.4.27_ich6m/drivers/ide/pci/piix.c --- linux-2.4.27/drivers/ide/pci/piix.c 2004-08-08 08:26:04.000000000 +0900 +++ linux-2.4.27_ich6m/drivers/ide/pci/piix.c 2005-08-01 01:21:16.000000000 +0900 @@ -155,6 +155,7 @@ case PCI_DEVICE_ID_INTEL_82801E_11: case PCI_DEVICE_ID_INTEL_ESB_2: case PCI_DEVICE_ID_INTEL_ICH6_2: + case PCI_DEVICE_ID_INTEL_ICH6_5: p += sprintf(p, "PIIX4 Ultra 100 "); break; case PCI_DEVICE_ID_INTEL_82372FB_1: @@ -294,6 +295,7 @@ case PCI_DEVICE_ID_INTEL_82801EB_11: case PCI_DEVICE_ID_INTEL_ESB_2: case PCI_DEVICE_ID_INTEL_ICH6_2: + case PCI_DEVICE_ID_INTEL_ICH6_5: mode = 3; break; /* UDMA 66 capable */ @@ -688,6 +690,7 @@ case PCI_DEVICE_ID_INTEL_82801E_11: case PCI_DEVICE_ID_INTEL_ESB_2: case PCI_DEVICE_ID_INTEL_ICH6_2: + case PCI_DEVICE_ID_INTEL_ICH6_5: { unsigned int extra = 0; pci_read_config_dword(dev, 0x54, &extra); @@ -885,6 +888,7 @@ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 18}, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 19}, { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 20}, + { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 21}, { 0, }, }; diff -uNr linux-2.4.27/drivers/ide/pci/piix.h linux-2.4.27_ich6m/drivers/ide/pci/piix.h --- linux-2.4.27/drivers/ide/pci/piix.h 2004-04-14 22:05:30.000000000 +0900 +++ linux-2.4.27_ich6m/drivers/ide/pci/piix.h 2005-08-01 01:18:44.000000000 +0900 @@ -333,6 +333,20 @@ .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, .bootable = ON_BOARD, .extra = 0, + },{ /* 21 */ + .vendor = PCI_VENDOR_ID_INTEL, + .device = PCI_DEVICE_ID_INTEL_ICH6_5, + .name = "ICH6M", + .init_setup = init_setup_piix, + .init_chipset = init_chipset_piix, + .init_iops = NULL, + .init_hwif = init_hwif_piix, + .init_dma = init_dma_piix, + .channels = 2, + .autodma = AUTODMA, + .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, + .bootable = ON_BOARD, + .extra = 0, },{ .vendor = 0, .device = 0, diff -uNr linux-2.4.27/include/linux/pci_ids.h linux-2.4.27_ich6m/include/linux/pci_ids.h --- linux-2.4.27/include/linux/pci_ids.h 2004-08-08 08:26:06.000000000 +0900 +++ linux-2.4.27_ich6m/include/linux/pci_ids.h 2005-08-01 01:16:41.000000000 +0900 @@ -1935,6 +1935,7 @@ #define PCI_DEVICE_ID_INTEL_ICH6_0 0x2640 #define PCI_DEVICE_ID_INTEL_ICH6_1 0x2641 #define PCI_DEVICE_ID_INTEL_ICH6_2 0x266f +#define PCI_DEVICE_ID_INTEL_ICH6_5 0x2653 #define PCI_DEVICE_ID_INTEL_ICH6_18 0x266e #define PCI_DEVICE_ID_INTEL_82850_HB 0x2530 #define PCI_DEVICE_ID_INTEL_82845G_HB 0x2560

このパッチを Vine 3.1 の最新カーネル 2.4.27-0vl7.6 に mkkpkg を実行する際に SPEC ファイルを書き換えるという形であててカーネルを再構築。再起動をしてみた。すると dmesg で

Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx ICH6M: IDE controller at PCI slot 00:1f.2 ICH6M: chipset revision 4 ICH6M: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x1810-0x1817, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0x1818-0x181f, BIOS settings: hdc:DMA, hdd:pio hda: MATSHITADVD-RAM UJ-822S, ATAPI CD/DVD-ROM drive hdc: FUJITSU MHV2080AT, ATA DISK drive blk: queue c0423b5c, I/O limit 4095Mb (mask 0xffffffff) ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15

のようにきちんとチップセットを認識するようになり、デフォルトで DMA 転送がオンになっている状態になりました。そして hdparm -Tt を実行した結果

DMA 転送オフの場合
/dev/hdc:
Timing cached reads: 3508MB in 2.00 seconds = 1754.00 MB/sec
Timing buffered disk reads: 6MB in 3.94 sec = 1.52 MB/sec

DMA 転送オンの場合
Timing cached reads: 3580MB in 2.00 seconds = 1790.00 MB/sec
Timing buffered disk reads: 82MB in 3.02 sec = 27.15 MB/sec

のように無事に10倍以上のパフォーマンスになりました。その結果、ハードディスクに書き込み中に固まる問題も無事に解決しました!確証はないですが、このパッチはカーネル 2.4.26 以降の 2.4.x ならばそのまま使えるのではないかなと思います。

かなりとりあえずで作ったパッチですので、問題が発生するかもしれません(まぁ、私はこのまま使いますので人柱がいることになりますが…)。その場合は自己責任ということで。

最後にもしこのパッチを利用したいディストリビューションなどありましたら特に許可は入りませんので自由に持って行ってください。報告も下さるとうれしいですが、特にいりません。

(2005/09/23 追記)
上のパッチをあててカーネルを再構築する方法ですが、上のパッチ(ファイル名は linux-2.4.27_ich6m.patch とします)を rpm/SOURCES ディレクトリにおきます。次に通常のカーネルパッケージ作成のように

# mkkpkg kernel-2.4.x-0vlx.x.src.rpm

を実行します。途中で SPEC ファイルを書き換えますか?というメニューがありますので、 [y] を入力して編集します。パッチ番号はバッティングしないように 30000 としました。「# END OF PATCH DEFINITIONS」という行の前に

# # enable DMA for Intel 82801FBM (ICH6M) IDE controler # Patch30000: linux-2.4.27_ich6m.patch

を追加、そして「# END OF PATCH APPLICATIONS」という行の前に

# # enable DMA for Intel 82801FBM (ICH6M) IDE controler # %patch30000 -p1

を追加します。そして保存、終了後は通常のカーネルの再構築及びアップデートの方法に従います。

投稿者 kato : 02:35 | コメント (2) | トラックバック