FreeBSDも(ようやく^^;;)10.3betaからUEFIモードでUSBメモリからインストーラを起動し、GPT形式のHDDにインストールして、UEFIモードでHDD上で起動できるようになったのですが、残念ながらHDD上に複数のパーティションを切り、異なるバージョンのFreeBSDをインストールしておいて起動時に切り替えることは出来てません。
で、まあちょこちょこいじっていたらとりあえず動いたので、物好きな方のためにboot1.cとの差分を公開します。
お約束ですが、導入は自己責任で行ってください。不具合が出ても当方は一切責任持ちません。
現在、私のHD上には
Ubuntu/FreeBSDの切り替えにはUbuntuからインストールしたrEFIndを使っています。従ってブート手順としては
UEFIファーム → rEFInd → boot1.efi → /boot/loader.efi → kernel
となっていて、上記パッチを当てることで、boot1.efiの時点でブート可能なFreeBSDパーティションの一覧が表示され、数字を入力することで何番目のパーティションから起動するかを選べるようになっています。
あ、書き忘れてましたが私はamd64でしか試してません。
現状、起動可能なパーティションの最大数(その時点で認識されている全てのドライブ上のFreeBSD起動可能なパーティションの総数)が10個以下しか表示・選択できないという制約があります。
#複数文字入力を作るのが面倒だっただけですが(^^;
#何年ぶりの更新とか、そういうことは言わない約束
で、まあちょこちょこいじっていたらとりあえず動いたので、物好きな方のためにboot1.cとの差分を公開します。
お約束ですが、導入は自己責任で行ってください。不具合が出ても当方は一切責任持ちません。
現在、私のHD上には
# gpart show
=> 34 3907029101 ada0 GPT (1.8T)
34 2014 - free - (1.0M)
2048 1048576 1 efi (512M)
1050624 1048576000 2 linux-data (500G)
1049626624 16707584 3 linux-swap (8.0G)
1066334208 1024 4 freebsd-boot (512K)
1066335232 104856576 5 freebsd-ufs (50G)
1171191808 16777216 6 freebsd-swap (8.0G)
1187969024 209715200 7 freebsd-ufs (100G)
1397684224 2509344911 - free - (1.2T)
と7つのパーティションが出来ていて、p2にはUbuntu、p5にFreeBSD-11、p7にFreeBSD-10.3がインストールしてあります。Ubuntu/FreeBSDの切り替えにはUbuntuからインストールしたrEFIndを使っています。従ってブート手順としては
UEFIファーム → rEFInd → boot1.efi → /boot/loader.efi → kernel
となっていて、上記パッチを当てることで、boot1.efiの時点でブート可能なFreeBSDパーティションの一覧が表示され、数字を入力することで何番目のパーティションから起動するかを選べるようになっています。
あ、書き忘れてましたが私はamd64でしか試してません。
現状、起動可能なパーティションの最大数(その時点で認識されている全てのドライブ上のFreeBSD起動可能なパーティションの総数)が10個以下しか表示・選択できないという制約があります。
#複数文字入力を作るのが面倒だっただけですが(^^;
#何年ぶりの更新とか、そういうことは言わない約束
UEFI FreeBSDでブートパーティション選択 について
興味深く見せて頂いてます。
お尋ねしたいのですが再起動前に次回起動するパーテーションを選択する事は可能でしょうか?
完全にリモート環境で切り替えたいので
GPTの bootme や bootonce みたいな事を複数の ZFSや UFS の中で出来れば良いなと思っています。