2016年10月26日水曜日

仮想マシンでuEFIが使えるようにしよう その2

前回、KVMにuEFIファームウェア(OVMF)を導入し、新規仮想マシンでuEFIが使えるようにした。
今回は、Ubuntuに用意されているもう一つのパッケージ、qemu-efiを使ってみようと思う。

というわけで導入だ。
(aquarius) $ sudo apt-get update
(aquarius) $ sudo apt-get --simulate install qemu-efi
(aquarius) $ sudo apt-get install qemu-efi
あっさり導入できた。

では、virt-managerで仮想マシンを作成してみよう。
(aquarius) $ virt-manager

確かに、ファームウェアに新しく「UEFI aarch46: /usr/share/AAVMF/AAVMF_CODE.fd」がエントリされた。


ただ、これを選択して「インストールの開始」を実行しても、エラーになる。



エラーメッセージを見てみると「oversized backing file, pflash segments cannot be mapped under 00000000ff800000」と表示されている。

これ、ファームウェアのサイズが大きすぎて、ファームウェア用のメモリ空間に収まらないってことじゃないか?
実際、/usr/share/AAVMF/AAVMF_CODE.fdのサイズは64MByte。
それを、ff800000のアドレスにマップしようとしている。
ff800000~ffffffffのアドレス空間は、約8MBしかない。これじゃ64MByteもあるAAVMF.fdは収まらないよな…。
対して、OVMFのファームウェア(/usr/share/ovmf/OVMF.fd)は2MByte。AAVMF.fdはサイズが大きすぎるのでは?

ただ、調べてみると「/etc/libvirt/qemu.confを一部書き換えればいいよ」という情報もある。その内容は、あくまで権限の話で、ファームウェアのメモリ空間を広げる、という話ではなさそうだ。
ファームウェアのメモリ空間の話な気がしているので、仮想マシンに割り与えるメモリサイズとは関係が無い。

さて…ちょっと調べた限りでは、本格的な対応方法が分からないや。
この件に関しては、一旦保留にして、この先必要になったら調査することにしよう。

というわけでアンインストールしてしまう。
(aquarius) $ sudo apt-get --simulate purge qemu-efi
(aquarius) $ sudo apt-get purge qemu-efi

今回はまともな結論にならなかったけど、まぁいいか。

0 件のコメント:

コメントを投稿