QEMU (kmv)를 사용하여 EFI 환경을 에뮬레이션하려고합니다. archboot를 사용하여 virtualbox를 EFI 모드로 부팅하는 데 15 분이 걸립니다.
레거시 BIOS 모드를 사용하여이 명령을 사용하여 부팅 할 수 있습니다.
root@citsnmaiko-deb:/home/maiko/uefi/ovmf# qemu-system-x86_64 -kernel ../bzImage -initrd ../rootfs.gz -append "rw root=/dev/ram0 ramdisk_size=40960"
내 사용자 정의 커널 및 파일 시스템에서 작동합니다.
file ../bzImage
../bzImage: Linux kernel x86 boot executable bzImage, version 3.6.1 (root@citsnmaiko-deb) #4 , RO-rootFS, swap_dev 0x3, Normal VGA
EFI도 지원합니다.
여기에서 다운로드 한 EFI 파일로 동일한 작업을 수행하려고합니다.
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"
그리고 부팅 할 수없는 EFI 셸에 빠졌습니다.
동일한 EFI 환경을 사용하는 최신 Ubuntu 릴리스를 사용하는 경우
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"
... 부팅 프로세스가 제대로 작동합니다.
우분투 부팅 파일을 내 것으로 바꾸려고했지만 그 기능을 완전히 이해하지 못할 수도 있습니다. 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 셸이 나타납니다. 괜찮아? initrd.lz와 rootfs.gz는 서로 호환 가능합니까? bzImage와 vmlinuz는 어떻습니까?
내가 무엇을 놓치고 있습니까?