UEFI環境のiPXE (ipxe.efi) からBitVisorを起動します!
やり方
やり方は以下の通りです。
- kernelにloadvmm.efiを指定する
- initrdにbitvisor.elfを指定する
- bootで起動する
loadvmm.efiはBitVisor起動後終了してしまいますので、続けて必要なコマンドを指定する必要があるかも知れません。
何が起きるのか
詳しくはiPXEのマニュアルを見てください。
マニュアルにあるように、kernelはimgselectあるいはimgloadと同じ意味で、initrdはimgfetchあるいはmoduleと同じ意味になるみたいです。どうやらUEFI環境では、どちらに指定したファイルもメモリーに転送された後、UEFIの世界のファイルシステムとして見える形になります。bootコマンドで実行されるのがkernel側のファイルっぽいです。
なので、例えばiPXEからUEFI Shellを起動して、その上でloadvmmやらその他のコマンドを実行したいなら、kernelにUEFI Shellを指定し、loadvmmその他をinitrdで繰り返し指定してあげると良いです。
起動例
iMacでの操作例を示します。(厳密にはUEFIではないのですがちゃんと動きます。)
ここではいきなりshellになるように設定したiPXEをUEFI Shellから起動し、httpでBitVisor関連ファイルを持ってきて起動させています。その後UEFI Shellに戻り、UbuntuのGNU GRUBを起動させています。Ubuntuからは以下のようにBitVisorが起動していることが確認できます。