Использование qemu/kvm для загрузки ядра Linux с такими аргументами, как -kernel, -initrd, -append

В qemu/kvm мы можем установить аргументы -kernel с путем к образу ядра, -initrd с путем к RAM-диску инициализации и -append с командной строкой для загрузки ядра. Будет ли это конфликтовать с образом ядра Linux, включенным в гостевую систему? Как он может пропустить повторяющуюся процедуру загрузки образа ядра при загрузке гостя? Спасибо


person Zhongshu    schedule 23.10.2012    source источник


Ответы (1)


Я предполагаю, что вы имеете в виду образ ядра vmlinuz с образом ядра /boot/vmlinuz, на котором находится ваш RAM-диск инициализации.

Процесс загрузки состоит из двух (в общем) шагов. а. Первоначальная загрузка (параметр -kernel), использующая двоичный файл qemu-kvm, заключается в загрузке ядра в оперативную память и диск initramfs. б. Затем ядро ​​попытается идентифицировать ядро ​​/boot/vmlinuz в вашем initramfs и выполнить поворот (или switch_root) к вашему ядру /boot/vmlinuz внутри вашего образа initramfs.

Таким образом, нет дублирующей процедуры и конфликта с гостевым (или хостовым) образом ядра.

Если вы хотите попробовать новый образ ядра для вашего образа initramfs, то я предлагаю загрузить ваш новый образ ядра и выполнить chroot к вашему образу initramfs (с привязкой монтирования к /sys, /dev и /proc).

Вы должны быть уверены, что ваш «новый» образ ядра может правильно читать initramfs.

В параметрах добавления - не забудьте добавить путь к ядру вашего образа initramfs.

person ebal    schedule 25.10.2012