J'essaie d'émuler un environnement EFI en utilisant QEMU (kmv); virtualbox prend 15 minutes pour démarrer en mode EFI en utilisant archboot.
En utilisant le mode BIOS hérité, je peux démarrer en utilisant cette commande:
root@citsnmaiko-deb:/home/maiko/uefi/ovmf# qemu-system-x86_64 -kernel ../bzImage -initrd ../rootfs.gz -append "rw root=/dev/ram0 ramdisk_size=40960"
et cela fonctionne avec mon noyau et mon système de fichiers personnalisés.
file ../bzImage
../bzImage: Linux kernel x86 boot executable bzImage, version 3.6.1 (root@citsnmaiko-deb) #4 , RO-rootFS, swap_dev 0x3, Normal VGA
il a également un support EFI.
J'essaie de faire la même chose avec les fichiers EFI que j'ai téléchargés à partir d'ici
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"
Et je suis tombé dans un shell EFI, pas permis de démarrer.
Si j'utilise la dernière version d'Ubuntu en utilisant le même environnement EFI
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"
... le processus de démarrage fonctionne correctement.
J'ai essayé de remplacer les fichiers de démarrage d'Ubuntu par les miens mais je ne comprends peut-être pas complètement sa fonctionnalité. Quand je remplace juste les fichiers après avoir monté l'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
le même shell EFI apparaît. Est-ce que c'est bon? initrd.lz et rootfs.gz sont interchangeables non? Que diriez-vous de bzImage et vmlinuz?
Qu'est-ce que je rate?