自宅の PC はそろそろ FreeBSD 7 系から 8 系にバージョンアップしているのであります。が、我が家にはちょっとワンパクな EeePC がいるのであります。最終型は FreeBSD 7.3-STABLE に落ち着いていたのですが、各種デバイスが動作しないので早いところ FreeBSD 8 系にしたいものだ。と何回もトライしていたのですが・・。
今回やはりバージョンアップにトライしました。 EeePC に USB 接続の 2.5 インチ HDD を接続します。
それとは別に USB メモリからブートしてイントールするためのブートイメージを作成します。参考にしたのは「USBメモリからFreeBSDをインストールする」こちらのサイト。
ここに書かれている USB メモリの dd や newfs などを参考にさせてもらいした。ありがとうございました。ただし一点だけ。僕は USB メモリからブートしたあとにネットワークインストールする予定なので CD-ROM イメージ全ては必要ありません。上記 URL の cp -pR /cdrom/* /usbmem の部分は以下のようにします。
|
/boot だけを USB メモリにコピーする。って感じです。これだと USB メモリの容量は 64MB のもので済みます。あとはブートしたあとにネットワークインストールするだけ。FreeBSD の iso イメージ的には FreeBSD-8.1-RELEASE-i386-bootonly.iso を用意すれば十分。て感じでしょうか。
と、言うことで、ブート用の USB メモリと USB 接続の 2.5 インチの HDD (今回はここに FreeBSD 8.1-RELEASE をインストールします)が用意できました。これでインストールします。が・・。EeePC では USB 接続の HDD を認識してくれませんでした。orz。FreeBSD のインストーラは起動するのですが、HDD 選択の画面で USB 接続の HDD を認識してくれないのであります。ブート用の USB メモリは問題無くブートしました。
しょーがないので普段利用しているデスクトップ PC で再度トライ。BIOS 設定を変更して USB メモリからブートするようにします。でもってブート。おぉ。今度はちゃんと USB 接続 の HDD を認識したのでこちらに対して FreeBSD 8.1-RELEASE をインストールし、無事に完了するのでありました。
母艦 PC (インストールに利用したデスクトップ PC) をシャットダウンしたあとに USB メモリと USB 接続の HDD を抜きます。でもって USB 接続の HDD を EeePC に接続してブートするのであります。
おぉっ!! ブートしたっ!! と思ったのもつかの間・・。umass0:0:1 など、 USB デバイスは認識するのですが、HDD が認識しないので FreeBSD が root バーティションはどこだ?と聞いてきます。
ufs:/dev/da0s1a
とか打つ画面ですね。ここから先に行かない・・。orz。dmesg 的には以下のような感じ。
|
どーしたもんかいのぉ・・。と悩んでいるのであります。8-CURRENT や 8-STABLE をインストールした時と全然一緒な状態・・。orz。
そんなバナナっ!! この後におよんでいくら何でも 8.1-R まで行っても USB デバイスからブートできないなんてありえないだろうっ!! とか思い、いよいよ IRC で聞いてしまいました。そしたらとある有名なコミッタの方が以下の設定を /boot/loader.conf に書いてみそ。と言うので言われたとおり書いてみました。
|
インストール直後の状態でシングルユーザでもブートしてくれないのにどうやって /boot/loader.conf 編集したらえーねん。とか思うのですが、僕は USB HDD を別の FreeBSD に接続して mount /dev/da0s1a /mnt したあとに /boot/loader.conf を編集しました。そのあとで再度 EeePC に接続してブートしたらっ!! おぉー。da0 がようやっと認識できて上のような dmesg となったのでありました;-)。わーいっ!! ありがとうございましたーー。
EeePC では 7 系 STABLEは今まで動作していたのですが、 8 系 STABLE はこの USB の問題で諦めていたのでありました・・。
ちなみに他の FreeBSD を持っていない人は /boot/loader.conf に書き込むこと、できないですよね。そんな人は ブート時のメニューで 6 を選択します。そこで set コマンド叩いてから boot とたたけば良いらしいです。ブートしたあとはすかさず /boot/loader.conf に設定を追加してあげれば OK です。
|
ふぅ。FreeBSD を USB メモリや USB HDD などからブートしたい人は上記設定を入れると、umass の認識でちょっと待ち状態が入るのでそのあとに da0 が認識され、ルートパーティションが取得できると言うわけですね。上記の設定が無い場合、da0 を認識する前にルートバーティションはどこぜお?ってなってしまうのでちっくとまちぃや。って感じで上記の設定を入れるのだそうです。
それにしても無事にブートできて良かったです。うんうん。さてと。今から csup で 8.1-STABLE にしようかなー;-)。
ほんにもう。それにしてもありがとうございました。
FreeBSD 9.0-BETA1 試してみました。
現在、自宅のサーバは 7.4-STABLE でデスクトップ PC と NoteP…
USBブート関連リンク:
USBブート Windows系システム用 – Windows板 [転載禁止]2ch.net
http://peace.2ch.net/test/read.cgi/win/1416409524/
Windows7をUSBブート可能にする方法(dddi.bat+UsbBootWatcher)
http://freesoft.tvbok.com/tips/usb_boot/windows7_dddibat.html
Windows8をUSBブートできる新機能Windows To Goが面白い!Enterprise版のみの提供なんて勿体無い!
http://freesoft.tvbok.com/win8/windows-to-go.html