最新のBitVisorをNetBSDでビルドし、最新のBitVisor上でNetBSD/amd64-currentを動かしてみる

これは、NetBSD Advent Calendar 2020の19日目の記事です。

はじめに

2018年にBitVisorをNetBSD上でビルドし、その上でNetBSD/amd64-currentを動かす話を 書いていました。 最新版のBitVisorがNetBSDでビルドできるか、NetBSDが動くか確認してみました。

BitVisorをビルドする

最新のBitVisorのソースコードは、sourceforge.netにあります。 hgを使っていて、BitBucketがhgサポートを終了してしまったので、sourceforge.netに移行されたようです。 以下のようにソースコードを入手します。

$ hg clone http://hg.code.sf.net/p/bitvisor/code bitvisor-code

ビルドには、mingw-w64のツールチェインが必要です。pkgsrc/cross/mingw-w64-x86_64-gccを利用すれば良いでしょう。 以下のようにインストールしておきます。 GNU make (gmake)も必要ですので、インストールしておきます。

$ cd /usr/pkgsrc/cross/mingw-w64-x86_64-gcc
$ make install
$ cd /usr/pkgsrc/devel/gmake
$ make install

/usr/pkg/cross/x86_64-w64-mingw32以下にx86_64のmingw-w64ツールチェインがインストールされます。

以下のように実行すれば、UEFIブートできるBitVisorがビルドできます。

$ cd bitvisor-code
$ PATH=/usr/pkg/cross/x86_64-w64-mingw32/bin:$PATH gmake -C boot/uefi-loader

インストールはUSBスティックに行なうことにします。 以下のように実行すれば良いでしょう。

# gpt destroy sd0
# gpt create sd0
# gpt add -t efi -s 200m sd0
# newfs_msdos /dev/rdk5
# mount_msdos /dev/dk5 /mnt
# mkdir -p /mnt/EFI/boot
# cp bitvisor-code/boot/uefi-loader/bsdriver.efi /mnt/EFI/boot
# cp bitvisor-code/boot/uefi-loader/loadvmm.efi /mnt/EFI/boot/bootx64.efi
# umount /mnt

作成したUSBスティックをNetBSD/amd64をUEFIインストールしてあるPCに挿してUSBスティックから起動すれば、 無事にBitVisor上でNetBSD/amd64 9.99.77を起動させることができました。

No comments:

Post a Comment

ローカルで大容量・多数のファイルをバックアップしたい場合

ネットワーク経由ではなく、ローカルのハードディスクドライブ間で多数・大容量のファイルをバックアップしたい場合にも、私は rsync を使っている。 途中経過を表示してくれるし、途中で止まってしまった場合にもリカバリーが簡単だろうという意図である。 幸運にも途中で止ま...