Après avoir utilisé Xen et ses pygrub
pendant un certain temps, j'essaie maintenant de faire quelque chose de similaire avec KVM / qemu.
Fondamentalement, j'ai un volume logique LVM (bien que cela puisse aussi bien être un fichier) qui contient le système de fichiers racine d'une distribution Linux (pas de partitionnement, juste FS directement sur le disque) qui contient également un /boot/grub/grub.cfg, et j'aimerais pouvoir démarrer ça.
J'avais l'impression que le paquet grub-firmware-qemu sur Debian / Ubuntu était destiné à cela, mais je n'ai pas réussi à le faire fonctionner. AFAICT, l'image grub.bin contient un memdisk codé en dur avec un fichier grub.cfg avec quelques options de menu (comme rechercher un multiboot.img ou rechercher un grub.cfg), mais tout ce que j'obtiens lors de l'exécution kvm -bios grub.bin
est une "licence incompatible " Message d'erreur. Et je ne sais pas trop comment générer un autre grub.bin
avec un autre grub.cfg (un qui ne ferait que faire configfile (hd0)/boot/grub/grub.cfg
).
Bien sûr, je pourrais créer une disquette ou un cdrom ou une image disque avec une configuration grub minimale qui fait exactement cela, mais j'ai le sentiment qu'il devrait y avoir une façon plus propre / canonique de le faire et mes recherches ont rapporté très peu loin.
Je suppose que l'on pourrait également utiliser l' -kernel
option de qemu , mais encore une fois, je ne sais pas comment générer un grub.img
pour cela. (l'utilisation d'un grub.img généré avec grub-mkimage -O i386-pc -o grub.img -c =(echo 'configfile (hd0)/boot/grub/grub.cfg') /usr/lib/grub/i386-pc/*.mod
affiche à nouveau le même message d'erreur "licence incompatible").
C'est sur debian avec la version 1.99-23 des paquets grub et 1.1.2 + dfsg-2 de kvm / qemu.
Donc, en bref, comment dois-je créer un grub.bin (à utiliser avec kvm -bios
) ou un grub.img (à utiliser avec kvm -kernel
) pour que kvm démarre une image grub capable d'analyser le / boot / grub /grub.cfg sur le disque virtuel?