FreeBSD の UEFI Boot
先人の説明を元に UEFI Boot してみた。
せっかくの HP DL380 G10 なので UEFI Boot でインストールしたいのだけど、インストーラーには
そんな親切なモードはなかった。
手持ちの板は FreeBSD R11.3 頃のやつ。
RAID はすでにに組んであり、 /dev/da0 としてアクセスできることを前提で書いている。
Regacy BIOS モードで起動してみる。 Install を選択して Manual で DISK を設定する。
とりあえず GPT でスライスをきる。
P No | type | サイズ | MP | ラベル | dev |
---|---|---|---|---|---|
p1 | efi | 512m | - | - | /dev/da0p1 |
p2 | freebsd-ufs | 3225GB | / | FreeBSD | /dev/da0p2 |
p3 | freebsd-swap | 128GB | none | - | /dev/da0p3 |
こんなイメージになるようにインストールしてみる。
インストーラーは efi なんてし知らないよと fail するが無視。
ここではパーティションが切れてp2 にOSが展開されれれば良い。
最後にインストールの最終設定をするか聞かれるので YES でシェルに入る。
efi の設定を行う。インストールに失敗した p1 へブートローダーを入れる。
# newfs_msdos -F 32 -S 512 -c 4 /dev/da0p1
# mkdir /esp
# mount -t msdosfs /dev/da0p1 /esp
# mkdir -p /esp/efi/boot
# cp /boot/boot1.efi /esp/efi/boot/BOOTx64.efi
# echo 'BOOTx64.efi' > /esp/efi/boot/startup.nsh
#
# umount /esp
# gpart bootcode -p /boot/boot1.efifat -i 1 da0
efibootmgr とかは使わなくてもブートできる。
- FAT32 をマウントして efiローダーをコピーすると実行権が付いた状態でコピーされるから chmod は要らない。
- efi ブートシステムは /efi/boot にある startup.nsh を探すそうだ。
- あくまでGPTパーティションなので efiboot の bootcode を入れている。
コメントを投稿