X31がダメなら最適化でしのぐしか!ということで600Xのkernelを2.6にすることにした。
(あまり脈絡なし
とりあえず、現時点で最新の2.6.3系のソースを落としてきてPIII coppermineでコンパイル。
でもって、2.6でAPM復帰時に固まる件の解決を図らねばならない。
これはちょちょっと検索したら600Xで固まらなくなるpatchなどという、そのものぴったりのものがあっさり見つかった。
patchは以下の通り。
--- linux/drivers/block/ll_rw_blk.c_ORIG Mon Jan 5 20:51:28 2004
+++ linux/drivers/block/ll_rw_blk.c Mon Jan 5 20:35:23 2004
@@ -2690,6 +2690,9 @@
for (i = 0; i < ARRAY_SIZE(congestion_wqh); i++)
init_waitqueue_head(&congestion_wqh[i]);
+#if defined(__i386__) /* Do we even need this? */
+ outb_p(0xc, 0x3f2);
+#endif
return 0;
}
patchの効き具合はばっちりで、サスペンド可能になった。
続いて、ndiswrapper-cvsがうんともすんとも動かない。
やられた。
ドライバを読み込むとカーネルパニック。
困った。
ここは正攻法で本家ページのPublic Forumを眺めてみる(じー)。
その中に、kernel2.6でカーネルパニックが起きる場合はkernel configのProcesser type and featuersのUse register argumentsを切ると良し、とあった。
で、試したところ、見事ぱにくる事もなく起動した。
とりあえず安堵。
いや待て。
音が鳴ってないではないか。
手動でsnd-cs46xx.koを読み込ませてもunknown symbolsで読み込めません、となる。
特に変な設定はしてないつもりなのだが。
思いつくのはkernel configのサウンド設定くらいだが、ISAとPCIの両方でCS46系のモジュールを設定してるのが悪いのかしら、と思ってPCIだけにしてコンパイル。
してみるとモジュールを読んでくれた。
うーむ、因果関係不明。
と、いうわけでkernel2.6.3に移行完了。
タイミングスケジューラがナントカカントカで2.4より速くなってるらしいのだが、もちろん体感はない。
以上!
ちなみにwineのcvs-glibc23-openglが23日版辺りからおかしい。
しばらく様子見っぽい。
- C'sGallery Blogっぽく見えるシステム3.2 -
小武
(管理人) eta2@tim.hi-ho.ne.jp