Mini9でWindowsを煽るのもそろそろ飽きてきたので(笑
なんとなく、追加でSHD-DI9M16Gも準備してしまって、
プリインストール版のUbuntu 8.04に戻してみたんですが、
そういやWindows Vistaを入れたときに差し替えた2GBのメモリが認識しないんでした。
いや、BIOSでは認識してるんですが、Ubuntu上で認識していないんですよね。
さて、これはどうしたものやら。 …
# 追記:
# この記事の情報は既に古いものとなっております。
# 最新のアップデートを適用することで、2GBのモジュールは認識するようになります。
えー、初めにお断りしておきますが、
この記事は、普通の人には関係ない非常に面倒くさい事をやっております。
まぁ、個人的なメモ代わりみたいなものですので、
必要な情報の不足がないように書いているつもりですが、
「読んでも意味がわかりません」と言われても、うちにもどうしようもできませんので、
その場合はプリインストール版以外のUbuntuをインストールして使う事をオススメします。
というか、多分読んでいくうちにやる気がなくなります(笑
・・で、話は戻りまして、プリインストールのLPIA版Ubuntuでは、
自分で2GBのメモリに載せ換えても1GBしか認識しません。
まぁ、グラフィックメモリに割かれているのか、実質883.2MBって感じですか。
これは、プリインストールされているUbuntuのカーネルで、
大容量メモリのサポートを無効にしてあるのが原因みたいです。
という時点で、これを何とかしようと思ったら、
カーネルの再構築か、直接別のカーネルに差し替えるしかないわけですが。
カーネルの再構築なんてもう5年以上やってないので、ほぼチンプンカンプンなんですが、
Webを検索してみても、Mini9のカーネルの再構築なんてニッチな情報は全然ない。
と思ってたら、幸いUbuntu Forumsの関係ないスレッドにそれっぽい情報があったので、
http://ubuntuforums.org/showthread.php?t=982983
まぁ、バックアップ取ってあるし、試しにやるだけやってみようかな、と。
というか、まぁほぼ初心者丸出し状態で、以下はほぼ上のフォーラムの受け売りです(笑
とりあえずカーネル再構築に当たっての準備を。
たぶんプリインストール状態ではrootのパスワードが設定されていない。
毎回sudoで作業するべきなんだろうけど、sudo passwd rootで設定してもいいのかな?
・・と思っていたけど、別にサーバじゃないし、GUIで設定すればいいのか。
メニューの[システム]→[システム管理]→[ユーザとグループ]で、
ロックの解除をすれば、rootのプロパティからパスワードが設定できるのでこれで設定しちゃいます。
で、コンソールに戻って、面倒くさいのであらかじめsuになっておく。
$ su パスワード:
で、さっき設定したパスワードを入れる。以降は、これで作業。
この辺は、憤慨する方もいるかもしれませんが、まぁMini9ですし各自適当な感じで。
次に、再構築に必要なものを用意。
最初に、
# apt-get update
で、パッケージ情報を更新しておく。終わったら、
# apt-get install libc6-dev # apt-get install libncurses5-dev
こいつらを順次インストール。
まぁ、ようはmakeする時に、Cのヘッダーファイルとncursesが必要だわねって話なんですが、
細かいことは気にしなくても、とりあえずMini9での再構築に必要なのでこれ入れとけ、と(笑
で、準備完了、ようやく本番。
再構築に必要なソースを取ってきて、
# apt-get install linux-source
解凍する
# cd /usr/src # tar -jxvf linux-source-2.6.24.tar.bz2
カレントディレクトリを解凍先に移動して、Mini9に元から入ってたカーネルの設定をコピー。
# cd linux-source-2.6.24 # cp /boot/config-2.6.24-19-lpia .config
で、あとは粛々と進める。
# make oldconfig # make menuconfig
と、ここでカーネルの設定が変更できるので、
当初の目的である大容量メモリのサポートを有効にする。
Processor type and featuresを選択して、
High Memory Supportがoffになっているので、4GBに変更する。
変更したらExitで戻ってきて、もちろん保存して終了する。
で、
# make
ここはただひたすら待つ待つ待つ待つ・・・。
うちは長いのを見越してご飯を食べに行ってましたが、
まぁ、1~2時間くらい掛かってたような気もします。
# make modules_install
これでモノ自体は完成。書き換わった設定と一緒に/bootに置く
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.24.3 # cp .config /boot/config-2.6.24.3
それから、足りないディレクトリをそれぞれ補完しておく
# cd /lib/modules # cp -r 2.6.24-19-lpia/volatile 2.6.24.3/ # cp -r 2.6.24-19-lpia/ubuntu 2.6.24.3/
で、ブートイメージを更新する
# update-initramfs -u -k 2.6.24.3
再構築の作業自体は完了したので、
GRUBに組み込むために/boot/grub/menu.lstを以下を参考に編集する。
この辺はviだろうがgeditだろうが各自お好きな方法でどうぞ。
あ、もちろんroot権限でしかファイルを更新できませんよ。
## timeout sec # Set a timeout, in SEC seconds, before automatically booting the default entry # (normally the first entry defined). timeout 10
うまく起動できなかった場合に備えて、適当に秒数を増やしてタイムアウトまでに余裕を持たせる。
もちろん、うまく起動したのが確認できたら、0秒に戻して構わないです。
で、下のほうに移動して、作ったカーネルを一番先頭に追記。
## ## End Default Options ## title Ubuntu 8.04.1, kernel 2.6.24.3 root (hd0,1) kernel /boot/vmlinuz-2.6.24.3 ro root=/dev/sda2 ht=on hpet=disabled quiet splash initrd /boot/initrd.img-2.6.24.3 title Ubuntu 8.04.1, kernel 2.6.24-19-lpia root (hd0,1) kernel /boot/vmlinuz-2.6.24-19-lpia ro root=/dev/sda2 ht=on hpet=disabled quiet splash initrd /boot/initrd.img-2.6.24-19-lpia title Ubuntu 8.04.1, kernel 2.6.24-19-lpia (recovery mode) root (hd0,1) kernel /boot/vmlinuz-2.6.24-19-lpia ro root=/dev/sda2 ht=on hpet=disabled single initrd /boot/initrd.img-2.6.24-19-lpia ### END DEBIAN AUTOMAGIC KERNELS LIST
そして、ここまでの作業を無事終わらせると・・・
ようやく再構築したカーネルで起動できて、
無事メモリ2GBを認識できるようになりました。やれやれ。
・・と言っても、作業はこれで終わりではなく、
実は、この状態だと無線LANモジュールを認識しなくなってしまいます。
これは、カーネルモジュールの依存関係がなくなっているためらしく、
# depmod -a # modprobe wl
と、くっつけ直す事で無線LANも復活しました。
ふー、ここまでやっといてどうなる事かと思いましたが、よかったよかった。
とりあえず、この状態で無線LANもSDカードも認識していますし、
スタンバイも正常に動作するみたいで、今のところは問題ないみたいです。
正直、やり方が間違ってる部分とかあるかもしれませんが、まぁ結果オーライで(笑
まぁ、ここまでして頑張る人がどれくらいいるのかっていう話になると、
Ubuntuで2GBっていう限定的な環境の時点でかなり少ないと思われますが、
どうしてもプリインストール版Ubuntuを使いたいんだっていう人は頑張ってみてもいいかもしれません。
このLPIA版Ubuntuは、他にもいろんな面で苦労しそうな気もしますけどね・・・(笑
コメント