Created attachment 15856 [details] скрин Server 10.2 aarch64 Версии ядер в образе: kernel-image-std-def-5.10.209-alt2 kernel-image-un-def-6.1.79-alt1 По умолчанию используется kernel-image-un-def-6.1.79-alt1 $ isoinfo -f -R -i alt-server-10.2-aarch64.iso | grep libvirt /ALTLinux/RPMS.main/libvirt-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-client-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-config-network-9.7.0-alt2.noarch.rpm /ALTLinux/RPMS.main/libvirt-daemon-config-nwfilter-9.7.0-alt2.noarch.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-interface-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-lxc-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-network-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-nodedev-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-nwfilter-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-qemu-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-secret-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-storage-core-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-daemon-driver-storage-fs-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-glib-4.0.0-alt1.aarch64.rpm /ALTLinux/RPMS.main/libvirt-glib-gir-4.0.0-alt1.aarch64.rpm /ALTLinux/RPMS.main/libvirt-kvm-9.7.0-alt2.noarch.rpm /ALTLinux/RPMS.main/libvirt-libs-9.7.0-alt2.aarch64.rpm /ALTLinux/RPMS.main/libvirt-qemu-common-9.7.0-alt2.noarch.rpm /ALTLinux/RPMS.main/python3-module-libvirt-9.7.0-alt1.aarch64.rpm $ isoinfo -f -R -i alt-server-10.2-aarch64.iso | grep qemu-system-aarch64 /ALTLinux/RPMS.main/qemu-system-aarch64-8.0.4-alt1.p10.aarch64.rpm /ALTLinux/RPMS.main/qemu-system-aarch64-core-8.0.4-alt1.p10.aarch64.rpm Шаги воспроизведения: Проверку выполнять на виртуальной машине libvirt, развернутой на реальном стенде соответствующей архитектуры. В качестве хоста используется тестируемый образ. 1) Создать скрипт для теста: $ cd $TMPDIR $ mkdir test-deploy $ cat >test-deploy/autorun <<-EOF #!/bin/sh -efu echo "Да здравствует автоматизация!" sleep 3 EOF $ chmod +x test-deploy/autorun 2) На хост выкачать образ, загрузку в rescue для которого нужно протестировать. 3) Установить пакеты: # apt-get install libvirt libvirt-kvm 4) Выполнить команды и перелогиниться: # systemctl enable libvirtd --now # gpasswd -a user vmusers 5) Завершить сеанс пользователя test и снова войти. 6) Выполнить команды: $ qemu-img create -f qcow2 altserver.qcow 20G $ qemu-system-aarch64 -machine virt-6.2 -accel kvm -cpu host -m 4096 -bios /usr/share/AAVMF/QEMU_EFI-pflash.raw -drive if=none,id=sda,format=qcow2,file=altserver.qcow -device virtio-blk-device,drive=sda -device virtio-scsi -device scsi-hd,drive=sdb -drive if=none,id=sdb,media=cdrom,file=alt-server-10.1-rc1-aarch64.iso -device virtio-keyboard -device virtio-tablet -device virtio-net-device,netdev=net0 -netdev user,id=net0 -device virtio-gpu,xres=1366,yres=768 -fsdev local,security_model=passthrough,id=fsdev0,path="$TMPDIR/test-deploy" -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=alt-autorun -device usb-ehci -device usb-kbd -device usb-mouse -nographic -vnc :0 7) В терминале появляется окно загрузчика с выбором вариантов. Выбираем Rescue LiveCD и жмём клавишу E. После lowmen дописываем параметры: autorun=method:plan9 8) Нажимаем ctrl+x 9) В другом терминале запустить vncviewer и указать параметры подключения: 127.0.0.1:5900 Ожидаемый результат: начинается загрузка rescue, в окне виртуальной машины появляется строчка "Да здравствует автоматизация!" Фактический результат: начинается загрузка rescue и останавливается на строчке Starting rsyslogd service: [ DONE ] На виртуальной машине нет изображения(см скрин). Дополнительно: работает обход со сменой flavour ядра в загрузчике В окне загрузчика выбрать ядро std-def и далее шаг 7. Проблема воспроизводится с un-def.
Если не использовать скрипт и rescue-launcher при тех же вводных, появляется ли приглашение в консоли? На самом деле неизвестно, на чём останавливается, но после указанной строчки. Видимо rsyslogd как раз успешно запустился. Я бы исключил rescue-launcher из тестирования, потому что при autorun=method:plan9 он пытается монтировать через p9 ресурс с хостовой системы, и, если есть проблема в ядерной части aarch64 на клиенте или чего-то недостаёт в образе, её можно отладить отдельно. Для отладки достаточно руками смонтировать в VM ресурс с хоста, посмотреть последовательность команд можно в /var/log/rescue-launcher.log, загрузившись с std-def. К сожалению, со временем у qemu всё время что-то меняется и возможно для новых версий имеет смысл пересматривать опции монтирования.
Проблема в том, что в параметрах загрузки указано nomodeset vga=0. Изображения на tty1 нет, а rescue-launcher запускается только на tty1. В serial console нет shell'а, так как не указан параметр загрузки console=ttyS0,115200n8.