ふるた技工所(てっこうしょ)

2011/12/30(金)23:53

Fedora 13 を USB 3.0 メモリから起動する - mkinitrd --with=xhci-hcd.ko ~ にて XHCI ドライバを組み込む

ソフト開発日誌(882)

Fedora 13 (Linux) を USB 3.0 メモリから boot してみた。要点は mkinitrd --with=xhci-hcd.ko ~ にて XHCI ドライバを組み込んだ initramfs image を作成して boot 時から USB 3.0 device を認識させる。 なお、以下の手順を実施するに当たり、救助用の Linux を立ち上げ USB メモリの中身を編集したり、Linux を入れた USB メモリを他の Linux マシンにてマウントして、編集できる程度の準備と操作が出来る方が望ましい。 1. Fedora (Linux) のインストール 1.1. boot 順の設定 BIOS の boot 順に USB メモリが入る様にする。インストール CD|DVD を使うか、Network boot を使うか等により、インストールが始まる様に boot 順を構成する。 1.2. インストール インストールの時は USB 3.0 メモリを認識しないので、USB 2.0 ポートにメモリを挿して作業を行う。インストール先を USB メモリにすれば良い。ほぼ USB メモリに書き込み続ける事になる。ここで USB 3.0 で認識させることを試みても大して早くならないだろう。 2. USB2.0 ポートに挿した状態で起動 USB メモリはまだ USB 2.0 ポートに接続したままにする。恐らく、1.1. の設定にて USB メモリから起動する様になっている。しかし、起動しない場合は、マザーボードの BIOS を設定し USB2.0 メモリから起動できる様にする。 3. initramfs を作成する 以下は root にて作業する。 3.1. 作業用ディレクトリを作成して移動 # cd ~ # mkdir -p work/initramfs # cd work/initramfs 3.2. initramfs 作成 次の様にして initramfs イメージを作成する。--with=xhci-hcd.ko にて XHCI ドライバを組み込む所が要点だ。 # mkinitrd --with=xhci-hcd.ko initramfs-`uname -r`.img `uname -r` -- 何かメッセージが表示されるかもしれないが上手く行っているだろう -- ノート: mkinitrd ~ `uname -r` まで 1 行に収まっている。uname -r の部分は次の様にして何に置き換わるか確かめられる。 # uname -r ノート: initramfs を作成し直す場合は、initramfs-`uname -r`.img を削除する。 3.3. initramfs を置き換える 元の initramfs を保存し、新しい initramfs を配置する。 # cp -p /boot/initramfs-`uname -r`.img /boot/initramfs-`uname -r`.orig.img # cp -p initramfs-`uname -r`.img /boot/ 3.4. boot で問題が発生した場合に備える grub.conf を編集して、キー入力の余地を作る。万が一 boot しない場合は、[ESC] キーあるいは [↓] キーを連打して boot 処理に割り込み boot 設定を編集する。 # nano /boot/grub/grub.conf 次の様に、timeout を 2 へ、hiddenmenu をコメントアウトする。 timeout=2 #hiddenmenu ノート: ここでは nano を使った。使いやすいエディタの方が望ましいだろう。 4. シャットダウンする コマンドラインを使ってもよいし、GUI のシャットダウンでも良い。 # /sbin/init 0 5. USB メモリを USB 3.0 ポートへ接続する 必ずシャットダウンが済んでから行う。 6. マザーボードの boot 設定を再確認 再び電源を入れて、マザーボードの BIOS 設定を USB3.0 メモリから起動できる様にする。BIOS によっては USB2.0 メモリからの起動も USB3.0 メモリからの起動も設定が同じかもしれない。 7. boot を試みる 問題が発生した場合は、3.4. で説明した通り、BIOS 起動が始まった辺りで [ESC] キーあるいは [↓] キーを連打して grub boot 処理に割り込む。initrd 設定を編集する。末尾を ~.orig.img の様に編集し、元の initramfs を使う様にして boot する。 update にて kernel が差し替わった場合、起動しなくなるかもしれない。2. より同じ作業を繰り返せばよい。 で、早くなったのか?多分。

続きを読む

このブログでよく読まれている記事

もっと見る

総合記事ランキング

もっと見る