IntelのNUCでUEFIからFreeBSDを起動させる

今迄業務でDebianを入れていたIntelのNUC(DN2820FYKH)にFreeBSD-10.1を入れてみました。

このマシンは発売当初から結構クセがあってBIOSのバージョンをアップデートしたり、設定しなおしたりで、なんとかDebianを動かした記憶があるので(具体的に何をしたかは忘れました)今回も苦労するだろうなぁと思ったらやっぱりその通りでした。以下そのメモです

まず、BIOSは現時点での最新のものをもってきました。

FY0041.BIO

というやつです。ググって見ると古いほうが安定してるとかいろんな情報がありますが一々確認してられないのでとりあえず最新のにしました。設定もとりあえずBIOSのデフォルトに。

次に 起動imageをもってきます。USBメモリからの起動が楽だと思います。10.1からはUEFIからの起動イメージがあるんでそれを持ってきました。

ftp://ftp6.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/10.1/
ftp://ftp6.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/10.1/FreeBSD-10.1-RELEASE-amd64-uefi-mini-memstick.img.xz

xzを解凍してからusbメモリに焼きます。このUSBから起動してインストールをすすめていくとUEFIから起動するようにパーティションが切られてセットアップが完了するはず……なんですが、あっさりとはいきませんでした

ブートする途中でコケてしまうんですよね。ちなみに非UEFIバージョンのイメージではちゃんと起動します。これで起動してLiveCDに移行して gpart等でパーティションを作ってインストールするという手段をとるとインストールはできましたが、OSの再起動で同じことがおきます。詰み。 さてどうしたものかと、試行錯誤的を繰替えしていたところ

Booting [/boot/kernel/kernel] in 10 seconds...

とカウントダウンが始まったら適当なキー(スペースとか)を押して止めて

mode 2
boot

とタイプして画面のモードを切りかえてbootすればうまく行くことにきがつきました。あとはインストーラが起動するのでそれに従っていきます。diskパーティションは Auto(UFS)を選択すればUEFIから起動するようにパーティションが自動で設定されます。

インストールが終わってHDDから起動するときもbootの途中で止めて、

mode 2
boot

をタイプします。毎回こんなことをしてられないので

/boot/loader.rc.local

というファイルを作成し

mode 2

と書いておけば次から自動でmodeが切り替わります。まぁまだ

Root mount waiting for: usbus0
ugen0.3: <Logitech> at usbus0
Root mount waiting for: usbus0
usb_alloc_device: set address 4 failed (USB_ERR_TIMEOUT, ignored)
Root mount waiting for: usbus0
usbd_setup_device_desc: getting device descriptor at addr 4 failed, USB_ERR_TIMEOUT

とか妙な警告がでますが・・・これについてはこれから調査。

Posted by issei

カテゴリ: BSD