・SATA な HDD の続き
カーネル 2.6.6 あたりで試してもちゃんと動かないので、Google 等であれこれ検索
してみたら、ACPI=off しないとトラブルが出ている旨の書き込みを見付ける。
「ふむ、、」と思って手もとで試してみてもやっぱりうまく行かない。でも dmesg とか
/proc/interrupts あたりを見ていると、どうやら IRQ 回りの問題らしい気がしてきた
ので、Documentation/kernel-parameters.txt の acpi 回りを調べると acpi=noirq という
指定があったのでこれを試してみる。
すると、今までは途中で固まっていた SATA な HDD 上のパーティションを mke2fs する処理も問題なく終了。「おお、これで解決か。。」と思って、再テストしてみようと再起動を
かけるとまた駄目。
「うーむ、、」と首をひねりながら、起動時のカーネルパラメータをあれこれいじってたら、どうやら指定するパラメータに順番があって、acpi=noirq は最初に指定しないと駄目で、先に hdc=noprobe(手もとのカードには存在しない SATA の 3ch 目を検出に行って時間がかかるので)を指定するとまずいらしいことに気づく。
そんなこんなで、結局現在は grub のコマンドラインから、
(hd0,1)/vmlinuz-2.6.6-bk9 root=/dev/hdj1 ro acpi=noirq hdc=noprobe
として起動することで、SATA な HDD が使えることを確認。次はカーネルにACPI 機能を組み込まなければどうなるかを試してみないといけないなぁ。合わせて 2.4.26 の場合と現在使っているのは IDE としてだけど、SCSI なデバイスとして使う場合のテストも必要になりそう。
ACPI がらみとなると、マザーボードとの相性みたいな問題になりそうだけど、15K くらいの HDD とカードでずいぶん楽しめたものだ(苦笑)
ちなみに、Silicon Image SA3112A なチップを使っているカードなんだけど、ずいぶん自己主張が強いのか、Linux が起動すると ide0/1 として認識されてしまい、このカードにつながっている HDD が /dev/hda になって、オンボードの IDE が後回しにされてしまうのも困り者。
通常、VIA のチップセットのIDE が 0,1 で hda - hdd になり、
オンボードの promise raid チップ(ATA としてしか使ってないが)が 2,3 で hde - hdh になるのだけど、SA3112A なカードを挿すとこのカードが 0,1 になって hda - hdd を取り、promise なチップが hde - hdh をとって、デフォルトの IDE が hdi - hdl になってしまう。このあたり BIOS 的に変更する機能はなさげだし、別にカーネルオプションで
"Boot off board fast" を指定しているわけでも無いので頭が痛いところ。
-Si3112自宅では素直に動いてくれた印象が強いのですが、むしろPromiseのほうが癖があるように思います一般的にはIDEの順序は動かせませんがオンボートデバイスのオンオフはBIOS設定でできるはずそれで突破口は開けないでしょうか。 -- [[名倉]] SIZE(10){2004-05-23 (日) 17:31:30}
-改めてカーネルパラメータを調べたら(2.6.6)、ide=reverse という指定があって、これを使えば望んでいた順番(3112A が無い時の順番)で認識してくれるようになりました。 -- [[kojima]] SIZE(10){2004-05-23 (日) 18:22:00}
#comment