Avendo usato Xen ed i suoi pygrub
per un po ', ora sto provando a fare qualcosa di simile con KVM / qemu.
Fondamentalmente, ho un volume logico LVM (anche se potrebbe anche essere un file) che contiene il filesystem di root di una distribuzione Linux (senza partizionamento, solo FS direttamente sul disco) che contiene anche un /boot/grub/grub.cfg, e vorrei poterlo avviare.
Avevo l'impressione che il pacchetto grub-firmware-qemu su Debian / Ubuntu fosse destinato a questo, ma non sono riuscito a farlo funzionare. AFAICT, l'immagine grub.bin contiene un memdisk hardcoded con un file grub.cfg con alcune opzioni di menu (come la ricerca di un multiboot.img o la ricerca di un grub.cfg), ma tutto ciò che ottengo durante l'esecuzione kvm -bios grub.bin
è una "licenza incompatibile " messaggio di errore. E non sono troppo sicuro di come generare un diverso grub.bin
con un diverso grub.cfg (uno che farebbe solo configfile (hd0)/boot/grub/grub.cfg
).
Certo, potrei creare un floppy o un cdrom o un'immagine del disco con una configurazione minima di grub che fa proprio questo, ma ho la sensazione che ci dovrebbe essere un modo più pulito / canonico per farlo e la mia ricerca ha riportato molto poco lontano.
Suppongo che si possa usare anche l' -kernel
opzione di qemu , ma ancora una volta, non so come generare un grub.img
per quello. (l'uso di un grub.img generato con grub-mkimage -O i386-pc -o grub.img -c =(echo 'configfile (hd0)/boot/grub/grub.cfg') /usr/lib/grub/i386-pc/*.mod
riporta di nuovo lo stesso messaggio di errore "licenza incompatibile").
È su debian con la versione 1.99-23 dei pacchetti grub e 1.1.2 + dfsg-2 di kvm / qemu.
Quindi, in breve, come devo fare per creare un grub.bin (da usare con kvm -bios
) o un grub.img (da usare con kvm -kernel
) per fare in modo che kvm avvii un'immagine grub che sia in grado di analizzare / boot / grub /grub.cfg sul disco virtuale?