Saya mencoba meniru lingkungan EFI menggunakan QEMU (kmv); virtualbox membutuhkan waktu 15 menit untuk boot dalam mode EFI menggunakan archboot.
Menggunakan mode BIOS lama, saya bisa boot menggunakan perintah ini:
root@citsnmaiko-deb:/home/maiko/uefi/ovmf# qemu-system-x86_64 -kernel ../bzImage -initrd ../rootfs.gz -append "rw root=/dev/ram0 ramdisk_size=40960"
dan itu bekerja dengan kernel dan sistem file kustom saya.
file ../bzImage
../bzImage: Linux kernel x86 boot executable bzImage, version 3.6.1 (root@citsnmaiko-deb) #4 , RO-rootFS, swap_dev 0x3, Normal VGA
ia memiliki dukungan EFI juga.
Saya mencoba melakukan hal yang sama dengan file EFI yang saya unduh dari sini
wget http://ufpr.dl.sourceforge.net/project/edk2/OVMF/OVMF-X64-r11337-alpha.zip -P ovmf
cd ovmf/
unzip -x OVMF-X64-r11337-alpha.zip
# rename the files for QEMU find them
mv OVMF.fd bios.bin
mv CirrusLogic5446.rom vgabios-cirrus.bin
# start QEMU
root@citsnmaiko-deb:/home/maiko/uefi/ovmf# qemu-system-x86_64 -L . -kernel ../bzImage -initrd ../rootfs.gz -append "rw root=/dev/ram0 ramdisk_size=40960"
Could not open option rom 'linuxboot.bin': No such file or directory
pci_add_option_rom: failed to find romfile "pxe-e1000.bin"
Dan saya dijatuhkan di shell EFI, tidak memungkinkan untuk boot.
Jika saya menggunakan rilis Ubuntu terbaru menggunakan lingkungan EFI yang sama
root@citsnmaiko-deb:/home/maiko/uefi/ovmf# qemu-system-x86_64 -L . -boot d -cdrom ../ubuntu-12.10-desktop-amd64.iso
pci_add_option_rom: failed to find romfile "pxe-e1000.bin"
... proses booting berfungsi dengan baik.
Saya sudah mencoba mengganti file boot Ubuntu dengan milik saya tapi mungkin saya tidak sepenuhnya mengerti fungsinya. Ketika saya baru saja mengganti file setelah memasang ISO:
mkdir tmp
bsdtar xf ubuntu-12.10-desktop-amd64.iso -C tmp
cp bzImage tmp/casper/vmlinuz
cp rootfs.gz tmp/casper/initrd.lz
genisoimage -o customUbuntu.iso tmp/
qemu-system-x86_64 -L . -boot d -cdrom customUbuntu.iso
EFI Shell yang sama muncul. Apakah itu oke? initrd.lz dan rootfs.gz dapat dipertukarkan bukan? Bagaimana dengan bzImage dan vmlinuz?
Apa yang saya lewatkan?