RHEL4.6 が出たので、カーネルだけバージョンアップしてみる。 期待しているのは JMicron の PATA/SATA 変換チップのドライバなんだけど、これはうまく動いてくれました。all-generic-ide なしで動作するようになったので、ATA まわりの問題は解決しました。
ただ、サウンド回りが微妙に調子悪く、alsa driver をいれたところ、デバイス検出は成功しテストサウンドの再生はできるのですが、youtube の動画の音がでません。ログには
ioctl32(firefox-bin:5558): Unknown cmd fd(54)
cmd(80045500){00} arg(ffffc700) on /dev/snd/controlC0
と出ています。にわかには解決方法がわからないのでとりあえず元に戻すことに。うーん、標準カーネルの設定がなにか足りないのかなぁ。
[追記]
どうやら 64bit カーネル上で 32bit アプリからの 32bit 用 ioctl に失敗しているようです。alsa driver のコードを読んでみるとエミュレーション用のコードはあります。2.6.22.9 ではうまくいっているので、RHEL4.6 の 2.6.9.67 でうまくいかないみたい。まじめに alsa driver のコード読まないとわからなそう。