Bug 49999 - Загрузка rescue останавливается на строчке Starting rsyslogd service: [ DONE ]
Summary: Загрузка rescue останавливается на строчке Starting rsyslogd service: [ DONE ]
Status: NEW
Alias: None
Product: Альт Сервер
Classification: Distributions
Component: Установка (show other bugs)
Version: 10.2
Hardware: aarch64 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-11 18:45 MSK by Vera Blagoveschenskaya
Modified: 2024-04-13 17:32 MSK (History)
3 users (show)

See Also:


Attachments
скрин (111.61 KB, image/jpeg)
2024-04-11 18:45 MSK, Vera Blagoveschenskaya
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vera Blagoveschenskaya 2024-04-11 18:45:24 MSK
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.
Comment 1 Leonid Krivoshein 2024-04-13 16:14:03 MSK
Если не использовать скрипт и rescue-launcher при тех же вводных, появляется ли приглашение в консоли? На самом деле неизвестно, на чём останавливается, но после указанной строчки. Видимо rsyslogd как раз успешно запустился.

Я бы исключил rescue-launcher из тестирования, потому что при autorun=method:plan9 он пытается монтировать через p9 ресурс с хостовой системы, и, если есть проблема в ядерной части aarch64 на клиенте или чего-то недостаёт в образе, её можно отладить отдельно.

Для отладки достаточно руками смонтировать в VM ресурс с хоста, посмотреть последовательность команд можно в /var/log/rescue-launcher.log, загрузившись с std-def. К сожалению, со временем у qemu всё время что-то меняется и возможно для новых версий имеет смысл пересматривать опции монтирования.
Comment 2 Антон Мидюков 2024-04-13 17:31:32 MSK
Проблема в том, что в параметрах загрузки указано nomodeset vga=0.
Изображения на tty1 нет, а rescue-launcher запускается только на tty1.
В serial console нет shell'а, так как не указан параметр загрузки console=ttyS0,115200n8.