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?
sumber
apt install ovmf
dan kemudiankvm -bios OVMF.fd ...
Bukan jawaban langsung tetapi karena tidak ada, Anda mungkin tertarik pada laporan bug xorriso ini - saya juga akan berkomentar di sana, tetapi singkatnya, xorriso-1.2.4 dengan revisi hulu 1044 berfungsi dengan baik untuk saya dan perangkat keras saya mendukung persis skrip ini (ini wiki yang diucapkan Rusia tetapi bagian skrip harus cukup terbaca; perhatikan
efiboot.img
).Catatan yang
/usr/lib/syslinux/isohdpfx.bin
berasal dari syslinux dan sepertinya 4.06 terbaru memiliki perubahan yang relevan di departemen EFI.Berikut informasi lain yang bermanfaat tentang (U) EFI , dan terima kasih atas scriptletnya juga :)
sumber
Menggunakan skrip ini ,
cd
ke pohon kode sumber dan jalankan:di mana
OVMF.fd
diekstraksi dari https://sourceforge.net/projects/edk2/files/OVMF/OVMF-X64-r15214.zip/downloadScript menghasilkan sistem file minimal dengan BusyBox, mengkompilasi kernel dan menjalankannya di QEMU dengan:
Kami sekarang dapat memverifikasi bahwa UEFI digunakan dari dalam QEMU sebagaimana disebutkan dalam pos ini :
sumber
sumber