Linux on Thinkpad T43(本番)

先日(id:stanaka:20060521)からいろいろと試行錯誤した結果、だいぶ使えるようになったので、まとめてみました。

参考文献

主にこのあたりを参考にしました。

パーティション構成

ntfsresizeで、既存のパーティションを20Gほど縮めて、Linux用に確保しました。

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        9396    71033728+   7  HPFS/NTFS
/dev/sda2           12306       12921     4656960   12  Compaq diagnostics
/dev/sda3            9397        9401       37800   83  Linux
/dev/sda4            9402       12305    21954240    5  Extended
/dev/sda5            9402        9671     2041168+  83  Linux
/dev/sda6            9672       12305    19913008+  83  Linux

カーネルコンフィグ

(たぶん)一番キモのカーネルコンフィグです。ファイルを以下に置いておきます。だいぶ使えるように、かつ、コンパクトになっていますが、まだまだ最適化の余地がありそうです。

その他、注意事項

無線LAN

基本は、emerge net-wireless/ipw2200ですが、ファームウェアを別途入れる必要があります。

から

をダウンロードして、/lib/firmwareへの展開が必要です。

ちなみに、Quickswitchというツールで動的な環境の変更ができるようですが、うまく動作しないので、毎回、/etc/conf.d/wirelessを手で触っています。(かなり今一)

Hibernation

カーネルに2.6.16-suspend-r7を使っていれば、sys-power/hibernate-script, sys-apps/suspend2-userui, sys-apps/vbetoolをインストールして、grub.confで、

title=Gentoo Linux 2.6.16-suspend2-r7

root (hd0,2)
kernel /boot/kernel-genkernel-x86-2.6.16-suspend2-r7 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda6 acpi=on acpi_sleep=s3_bios resume2=swap:/dev/sda5 noapic udev
initrd /boot/initramfs-genkernel-x86-2.6.16-suspend2-r7

と指定すれば、できるようになります。Xからでも、バッチリ復旧します。

でも、なぜか、hibernate-ramでのスリープは復帰に失敗します。

ちなみに、T43は、(HDDはP-ATAのくせに)SATAのIFなので、SATAドライバをモジュールではなくビルトインしておかないと、復帰の途中で失敗します。

CPU Speedstep

カーネルコンフィグが正しければ、以下でいけます。

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

ACアダプタの状態との連動もできなくはないですが、面倒さかげんに挫折しました。

VGA

T43は、Radeon X300を積んでいて、3D描画も、わりといけるのですが、2.6.16では、DRIが有効にできず、OpenGLでのaccelarationが効きません。宝の持ち腐れです。

外部VGA

aticonfigとかxrandrとかを駆使すれば、自由に出力できます。でも、WindowsのFn+F7からのThinkpad独自のメニューの使い勝手の100倍は劣ります。

カーネルにalsaをビルトインすれば、OKです。ただし、Headphone JackとLine JackをMuteしておかないと、音がでない、というどうしようもない、バッドノウハウが必須です。

使ったことがないデバイス

モデム, Bluetooth, PCMCIAは、使ったことがないし、使う予定もないので‥

その他の問題

USB HDDは、DMAを使わないので、非常にCPU食いです。当初は、全てのシステムをUSB HDD上に載せていたのですが、HDDアクセスのたびに停止して、使い勝手にかなり影響していました。ちなみに、Gentooはデフォルトでは、カーネルがpreemptiveではないので、さらにツラい状況でした…

Xが動的にUSBマウスを認識しません。カーネルは認識するので、あと一歩!っぽいのですが、その一歩をクリアした先人は見つけられませんでした。

結論(らしきもの)

以前にくらべると、だいぶ状況がマシになっているとは言え、Linuxをノートに入れて常用するのは、まだまだ好事家にしか勧められないです。トライするたびに、クライアントマシンを一般ユーザでも使い易く仕上げてくるWindowsやOSXの良さを思い知らされます。

あぁ、でも、動き出してしまえば、サーバサイドのコーディングをするには、最高の環境であるのは確かです。手段を目的と捉えられる人は、是非トライしてみてください。