2009年11月7日土曜日

Install Moblin v2.1 on HP Mini 2140

Linux Foundationの人にMoblin v2.1が入ったPCを自慢されたので、負けじと自分のHP 2140にMoblin v2.1をインストールしてみました。GRUB、WiFi、CapsLock - Ctrlの3点にハマったので、記録を残します。

Moblinインストール
moblinのインストール自体は簡単です。
  1. http://www.moblin.org/ からLive Image (imgファイル)をダウンロード
  2. Live ImageをUSBドライブにバイトコピー
  3. USBドライブから起動する
  4. 後は普通のLinuxと同じ
間違えやすいのは、Live ImageをUSBドライブにふつうにコピーしてしまうことぐらいでしょうか? ddやらimage-write (というものがあるらしい)やらを使いましょう。

GRUBの設定
Moblinしか使わないならGRUBの特別な設定は不要ですが、私はUbuntu 9.10と共存させたかったので、GRUBの設定を変更する必要がありました。
普通のLinux distroと異なり、Moblinはinitrdを使わずに最初からストレージのファイルシステムをマウントするようです。なので、grub.conf (debian系ではmenu.lst)はこんな感じになります。
title Moblin
root (hd0,1)
kernel /boot/vmlinux-2.6.XX ro root=/dev/sda2 quiet vga=current
initrd指定がないことに注意してください。(この例ではHDDを4つのパーティションに分割していて、Moblinの/は2つ目のパーティションです)
ここでハマったのは、"vga=current"というkernelオプションです。詳しく調べていませんが、Moblin v2.1に入っているGRUBと、Ubuntu 9.10に入っているGRUBとはバージョンが異なるようで、Ubuntu側からgrub-installすると、"vga=current"という文字列のパースでエラーになるようです。Moblin側からgrub-installすればきちんと動きました。(しかし、この文字列はLinux kernelに渡されるだけで、GRUBはパースしないと思っていたが・・・)

WiFi
HP 2140のWiFiはBroadcomのBCM4322というコントローラですが、Moblinに入っているkernel moduleは古くて未対応です。なので、最新ソースを取ってきてkernel moduleを作り直す必要があります。
  1. インストールされている古いkernel moduleを削除 "yum erase wl-kmod"
  2. kernel module作成に必要なパッケージをインストール "yum install kernel-netbook-devel"
  3. Broadcomのサイトからドライバをダウンロードしてビルド
ここここを参考に・・・というか、この通りにやれば問題ありません。(ただし、Broadcomが提供しているドライバが2.6.31に対応したのでパッチは不要です。)

CapsLockをCtrlに
統計によればLinuxインストール作業の92.3%はCapsLock - Ctrlのスワップ(または置換)に費やされると言われています(嘘)。今回もやはり・・・。
結論から言うと、メニューの「アプリケーション > キーボード > レイアウト > レイアウトのオプション > Ctrl key position」で "Make CapsLock an additional Ctrl" で置換できました。ただし、これだと何故かCapsLock押下時にCapsLockのLEDがOn/Offするんですよねー。なので、「置換できてない」と勘違いして1時間ほどハマっていました。
LED点灯の件は未だに解決できず。だれか教えて・・・。

0 件のコメント:

コメントを投稿