DELL inspiron mini 9 (Ubuntu) メモリ2GB対応 カーネルリビルドできたので、まとめておく。
1. SSD が 4GB とかの場合は、あらかじめ gimp とか open office とかのパッケージを synaptic で削除して空きを確保しておく。
2. 必要なパッケージを用意(かなり適当)
$ sudo apt-get install kernel-package ncurses ncurses-base libncurses5-dev
3. カーネルソースを用意して展開
面倒なので root になっておく。
$ sudo su - # apt-get install linux-source-2.6.24 # cd /usr/src # tar jxvf linux-source-2.6.24.tar.bz2 # ln -s linux-2.6.24 ./linux
4. カーネル設定
いろいろいじると、後で収集がつかなくなるので、とりあえずメモリ2GB 対応だけを設定
# cd linux # cp /boot/config-2.6.24-19lpia .config # make oldconfig # make menuconfig General setup ---> Local version - append to kernel release -mini9_2GB Processor type and features ---> High Memory Support ---> 4GB Save an Alternate Configuration File .config
Local version の文字列は適当。
ただしvmlinuz とかの サフィックスとの一致させる必要があるので注意。
e.g. -mini9_2GB --> vmlinuz-2.6.24.3-mini9_2GB
5. カーネルを make
# make clean # make
2時間くらいで make は終わった。
6. モジュールを入れる
# make modules_install
これは1分ほど。
7. ブートイメージを手動でコピる
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.24.3-mini9_2GB # cp System.map /boot/System.map-2.6.24.3-mini9_2GB # cp .config /boot/config-2.6.24.3-mini9_2GB
8. 新しく作ったモジュールをコピって、mini 9 用の既存モジュールを追加する
# cd /lib/modules/ # cp -r 2.6.24-19-lpia/volatile 2.6.24.3-mini9_2GB/ # cp -r 2.6.24-19-lpia/ubuntu 2.6.24.3-mini9_2GB/ # update-initramfs -c -k 2.6.24.3-mini9_2GB
/bootにinitrd.img-2.6.24.3-mini9_2GB ができていればOK
9. grubのブート設定を追加
# cd /boot/grub # vi menu.lst
とかして、下記をファイルの末尾に追加(title は適当)
### CUSTOME BUILD KERNEL title Ubuntu 8.04.1, kernel 2.6.24.3 for mini9 /w 2GB memory root (hd0,1) kernel /boot/vmlinuz-2.6.24.3-mini9_2GB ro root=/dev/sda2 ht=on hpet=disabled quiet splash initrd /boot/initrd.img-2.6.24.3-mini9_2GB
上の方にある timeout を 10 とかにしておく
10. リブートしてみる
# reboot
grub のカウントダウンが始まったら、 ESC を押して リビルドしたカーネルイメージを選択
11. 確認してみる
リビルドしたカーネルで無事に起動できたら下記のようにして確認
$ free -m $ uname -r
メモリの total が 2017 とかで、カーネルのサフィックス番号が合ってたら 成功。
12. 無線LAN のドライバを追加
このままでは、たぶん無線LANが死んでるので
$ sudo su # depmod -a wl # modprobe wl
として無線LANドライバを有効にする。
以上。
ちょっと使ってみて問題ないようなら、grub の menu.lst の default をリビルドしたカーネルイメージの番号(記述順に上から 0, 1, 2, ...)に変更し、timeout もゼロに戻しておく。
追記: でも音が鳴らないんだなあ。これは別の理由かも。ま、いいか。