UEFI版 bitvisorのビルドの方法

Arch linux では UEFI ブートローダをビルドするのに必要な amd64-mingwなんちゃらかんちゃらmsvc-gcc を手に入れるのが地味に面倒くさくて雑な気持ちになったので、debian の docker を引っ張ってきてこんな感じにする。

apt-get update && apt-get install build-essential gcc-mingw-w64 gcc-mingw-w64 mercurial whiptail

それから bitvisor をビルドする。

それから、bitvisor/boot/uefi-loader で make してローダを爆誕させる。

これで沸いた bitvisor.elf と bitvisor/boot/uefi-loader/loadvmm.{efi}{dll} を /boot (など、EFIパーティションの場所)に放り込む。

EFI shellからloadvmm.efiを叩く。

イエー

しかし、UEFI版はMACでなければ動かないんじゃねーかという風の噂を耳にしたし、実際どうやってもloadvmm.efi中にコケるので動かないっす

UPDATE

わからんけどよく見たら機嫌が良くなって動くようになった。

ので、もうちょい詳しく書く。

loadvmm.efiの後、bitvisor.elfがロードされてうまく動くと、vmenterしたまま帰ってくるので、こうなる。

Shell> fs0:
fs0:\> loadvmm.efi
Loading...(snip)
Starting Bitvisor (snip)
(snip)
(snip)
(snip)
:
:
Starting a virtual machine.
fs0:\> ←←←←←ゲストモードになってからEFIシェルに帰ってくる!!!!!1111
fs0:\> startup.nsh ←←←←フツーに起動するとゲストモードに入ってる、ばんざい!

ということで、普段からbitvisor環境で立ち上がってくるようにしたい場合は、startup.nshの先頭にloadvmm.efiって書いておけば良いぞい。