Пользуясь Xen и его pygrub
некоторое время, я сейчас пытаюсь сделать нечто подобное с KVM / qemu.
По сути, у меня есть логический том LVM (хотя это может быть и файл), который содержит корневую файловую систему дистрибутива Linux (без разметки, только FS непосредственно на диске), которая также содержит /boot/grub/grub.cfg, и я хотел бы иметь возможность загрузить это.
У меня сложилось впечатление, что для этого предназначен пакет grub-firmware-qemu в Debian / Ubuntu, но мне не удалось заставить его работать. AFAICT, образ grub.bin содержит жестко запрограммированный memdisk с файлом grub.cfg с несколькими опциями меню (например, поиск multiboot.img или поиск grub.cfg), но все, что я получаю при работе, kvm -bios grub.bin
- это «несовместимая лицензия» " сообщение об ошибке. И я не слишком уверен, как создать другой grub.bin
с другим grub.cfg (тот, который только сделал бы configfile (hd0)/boot/grub/grub.cfg
).
Конечно, я мог бы создать образ дискеты, компакт-диска или диска с минимальной конфигурацией grub, которая делает именно это, но у меня есть ощущение, что должен быть более чистый / канонический способ сделать это, и мое исследование принесло очень мало далеко.
Я полагаю, что можно использовать -kernel
опцию qemu , но, опять же, я не знаю, как сгенерировать grub.img
для этого. (при использовании grub.img, сгенерированного с помощью, снова grub-mkimage -O i386-pc -o grub.img -c =(echo 'configfile (hd0)/boot/grub/grub.cfg') /usr/lib/grub/i386-pc/*.mod
появляется то же самое сообщение об ошибке «несовместимая лицензия»).
Это на Debian с версией 1.99-23 пакетов grub и 1.1.2 + dfsg-2 из kvm / qemu.
Итак, вкратце, как мне следует создать grub.bin (для использования kvm -bios
) или grub.img (для использования kvm -kernel
), чтобы kvm загрузил образ grub, который может анализировать / boot / grub /grub.cfg на виртуальном диске?