先日(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
カーネルコンフィグ
(たぶん)一番キモのカーネルコンフィグです。ファイルを以下に置いておきます。だいぶ使えるように、かつ、コンパクトになっていますが、まだまだ最適化の余地がありそうです。
- gentoo-2.6.16-suspend-r7用
その他、注意事項
無線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が効きません。宝の持ち腐れです。
使ったことがないデバイス
モデム, Bluetooth, PCMCIAは、使ったことがないし、使う予定もないので‥
その他の問題
USB HDDは、DMAを使わないので、非常にCPU食いです。当初は、全てのシステムをUSB HDD上に載せていたのですが、HDDアクセスのたびに停止して、使い勝手にかなり影響していました。ちなみに、Gentooはデフォルトでは、カーネルがpreemptiveではないので、さらにツラい状況でした…
Xが動的にUSBマウスを認識しません。カーネルは認識するので、あと一歩!っぽいのですが、その一歩をクリアした先人は見つけられませんでした。
結論(らしきもの)
以前にくらべると、だいぶ状況がマシになっているとは言え、Linuxをノートに入れて常用するのは、まだまだ好事家にしか勧められないです。トライするたびに、クライアントマシンを一般ユーザでも使い易く仕上げてくるWindowsやOSXの良さを思い知らされます。
あぁ、でも、動き出してしまえば、サーバサイドのコーディングをするには、最高の環境であるのは確かです。手段を目的と捉えられる人は、是非トライしてみてください。