aio boot(その3:rEFIndによるFreeBSDのマルチブート)

cloverによってboot1.efiの出力が見えなくなってしまうのが不便で何とかrEFIndでfreebsd-releaseとfreebsd-currentを一発で選択できないか色々調べてみました。
その結果、loader.efiが環境変数のrootdevをちゃんと認識すればusf2_x86.efiを使わなくなてもrEFIndから一発でbootできることが判りました。loader.efiがrootdevを認識しないのはloader.efiのbugだと思うので、パッチをbugzilla 229770へ送っておきました。このパッチを当てたloader.efiをrEFIndの入っているefi partitionにコピーして以下のエントリーをrefind.confに追加して一発でbootできるようになりました。

menuentry FreeBSD-release {
   loader /EFI/freebsd/loader.efi
   options "rootdev=disk0p5"
   icon /EFI/refind/icons/os_freebsd-release.png
}

menuentry FreeBSD-current {
   loader /EFI/freebsd/loader.efi
   options "rootdev=disk0p13"
   icon /EFI/refind/icons/os_freebsd-current.png
}

注意事項として、ada0pXはloader上ではdisk0pXと記述する必要があります。icon fileはgimpでos_freebsd.pngにRelとかCurという文字を追加して作りました。

その2へ戻る その4へ続く