Bug 52699

Summary: Не работает автоматический запуск программы при загрузке в rescue на install-образе
Product: Альт Рабочая станция K Reporter: Vera Blagoveschenskaya <vercha>
Component: Ошибки работыAssignee: Sergey V Turchin <zerg>
Status: RESOLVED NOTABUG QA Contact: qa-p8 <qa-p8>
Severity: normal    
Priority: P5 CC: antohami, klark, obidinog
Version: 11.0   
Hardware: x86_64   
OS: Linux   

Description Vera Blagoveschenskaya 2025-01-14 17:56:45 MSK
Установочный образ Workstation K 10.4 x86_64:
1758b0876c975c166e50ef6176a7873a kworkstation-install-undef-10.4-20241007-x86_64.iso

Не работает автоматический запуск программы при загрузке в rescue на install-образе

1) Подготовка сервера NFS

Установить пакет:
# apt-get install nfs-server

Создать папку autorun:
# mkdir -p /srv/public/autorun

Положить в неё скрипт autorun:
# cd /srv/public/autorun
# cat > autorun <<-EOF
#!/bin/sh -efu
echo "Да здравствует автоматизация!" 
sleep 30
EOF
# chmod +x autorun

В /etc/exports указать строчки:
/srv/public -ro,insecure,no_subtree_check,fsid=1 *
/srv/public/autorun -ro,insecure,no_subtree_check,fsid=2 *

Экспортировать файловую систему
# exportfs -r

Перезапустить сервис nfs:
# systemctl enable --now nfs

2) Настройка клиента:
Выполнить загрузку с флешки

В меню загрузчика выбрать "Live CD", нажать 'e' для редактирования параметров загрузки и дописать в конец строки:
autorun=method:nfs,server:{HOST_IP},directory:/srv/public/autorun

Нажать "F10" и дождаться запуска

Ожидаемый результат:
Осуществлена загрузка.
В конце загрузки отрабатывает скрипт "Да здравствует автоматизация!" и 30 секунд задержка

Реальный результат:
Система загружается без задержки, нет фразы

Дополнительно: 
1) В live-образе указанный сценарий выполняется корректно
c82d359eb7b21ed400d518cef8bc1190 kworkstation-live-undef-10.4-20241007-x86_64.iso

2) После загрузки системы в консоли:
# journalctl | grep 'autorun'
сен 18 17:14:59 localhost.localdomain kernel: Command line: BOOT_IMAGE=/boot/vmlinuz fastboot live changedisk automatic=method:cdrom,fuid:2024-09-04-07-39-16-00 stagename=live ramdisk_size=2688073 lowmem autorun=method:nfs,server:10.88.12.73,directory:/srv/public/autorun vga=normal quiet loglevel=3 splash lang=ru_RU
сен 18 17:14:59 localhost.localdomain kernel: Kernel command line: BOOT_IMAGE=/boot/vmlinuz fastboot live changedisk automatic=method:cdrom,fuid:2024-09-04-07-39-16-00 stagename=live ramdisk_size=2688073 lowmem autorun=method:nfs,server:10.88.12.73,directory:/srv/public/autorun vga=normal quiet loglevel=3 splash lang=ru_RU
сен 18 17:14:59 localhost.localdomain kernel: Unknown kernel command line parameters "fastboot live changedisk lowmem splash BOOT_IMAGE=/boot/vmlinuz automatic=method:cdrom,fuid:2024-09-04-07-39-16-00 stagename=live autorun=method:nfs,server:10.88.12.73,directory:/srv/public/autorun vga=normal lang=ru_RU", will be passed to user space.
сен 18 17:14:59 localhost.localdomain kernel: autorun=method:nfs,server:10.88.12.73,directory:/srv/public/autorun
сен 18 17:14:59 localhost.localdomain kernel: [U] *BOOT_IMAGE=/boot/vmlinuz fastboot live changedisk automatic=method:cdrom,fuid:2024-09-04-07-39-16-00 stagename=live ramdisk_size=2688073 lowmem autorun=method:nfs,server:10.88.12.73,directory:/srv/public/autorun vga=normal quiet loglevel=3 splash lang=ru_RU

3) Аналогичное поведение для остальных методов запуска:
Метод запуска HTTP
Метод запуска DISK
Метод запуска AUTO
Метод запуска VBOX
Метод запуска PLAN9
Comment 1 Sergey V Turchin 2025-03-05 15:15:11 MSK
Подскажите, плиз, устаревший кейс или у меня чего-то не хватает?
Comment 2 Антон Мидюков 2025-03-05 15:29:05 MSK
Нужно сетевой интерфейс поднять в initrd, добавив в параметр загрузки ip=dhcp4
Comment 3 Vera Blagoveschenskaya 2025-03-05 15:30:31 MSK
Кейс актуален по описанию для Проверочного LiveCD на install-образе.
Comment 4 Антон Мидюков 2025-03-05 15:32:39 MSK
(In reply to Vera Blagoveschenskaya from comment #3)
> Кейс актуален по описанию для Проверочного LiveCD на install-образе.

NetworkManager до логина сеть не поднимает. Поэтому поправьте кейс и проверьте.
Comment 5 Leonid Krivoshein 2025-03-06 05:56:48 MSK
(In reply to Vera Blagoveschenskaya from comment #0)
> Аналогичное поведение для остальных методов запуска:
Раз так, то:

1. Видимо поднятие сети не имеет значения, когда речь о не сетевых методах, но если нужна сеть, то как минимум следует добавить ip=dhcp4 к параметрам.

2. Если теперь это работает как сервис, можно посмотреть его статус:

systemctl status live-rescue-launcher
journalctl -u live-rescue-launcher

3. Главный ориентир в случае успеха запуска rescue-launcher -- его журнал: /var/log/rescue-launcher.log, там всё будет написано.
Comment 6 Leonid Krivoshein 2025-03-06 06:04:48 MSK
(In reply to Vera Blagoveschenskaya from comment #0)
> kworkstation-install-undef-10.4-20241007-x86_64.iso
Так речь о 10.4 или 11.0? Это две разные истории.

> сен 18 17:14:59 localhost.localdomain kernel: Command line:
> BOOT_IMAGE=/boot/vmlinuz fastboot live changedisk
> automatic=method:cdrom,fuid:2024-09-04-07-39-16-00 stagename=live
> ramdisk_size=2688073 lowmem
> autorun=method:nfs,server:10.88.12.73,directory:/srv/public/autorun
> vga=normal quiet loglevel=3 splash lang=ru_RU
Среди параметров запуска не вижу altboot'овских. Тогда это образ на p10 и ip=dhcp4 не поможет. И пакета live-rescue-launcher в p10 я не вижу. Как это теперь работает на p10, видимо только Антон знает.
Comment 7 Антон Мидюков 2025-03-06 06:13:05 MSK
(In reply to Leonid Krivoshein from comment #6)
> (In reply to Vera Blagoveschenskaya from comment #0)
> > kworkstation-install-undef-10.4-20241007-x86_64.iso
> Так речь о 10.4 или 11.0? Это две разные истории.
> 
> > сен 18 17:14:59 localhost.localdomain kernel: Command line:
> > BOOT_IMAGE=/boot/vmlinuz fastboot live changedisk
> > automatic=method:cdrom,fuid:2024-09-04-07-39-16-00 stagename=live
> > ramdisk_size=2688073 lowmem
> > autorun=method:nfs,server:10.88.12.73,directory:/srv/public/autorun
> > vga=normal quiet loglevel=3 splash lang=ru_RU
> Среди параметров запуска не вижу altboot'овских. Тогда это образ на p10 и
> ip=dhcp4 не поможет. И пакета live-rescue-launcher в p10 я не вижу. Как это
> теперь работает на p10, видимо только Антон знает.

Действительно. Это же 10.4. А я думал 11, и дал рекомендации по 11.
Comment 8 Антон Мидюков 2025-03-06 07:20:00 MSK
На p10 сеть нужно поднимать через propagator'ный параметр network:dhcp (вместо dhcp может быть static).
Comment 9 Vera Blagoveschenskaya 2025-03-06 15:38:52 MSK
(Ответ для Антон Мидюков на комментарий #8)
> На p10 сеть нужно поднимать через propagator'ный параметр network:dhcp
> (вместо dhcp может быть static).

Кто поменял версию? Ошибка актуальна также для 11.0, я вчера меняла:
Vera Blagoveschenskaya 2025-03-05 14:34:56 MSK
Версия: 10.4 → 11.0

с параметром ip=dhcp4 пробуем
Comment 10 Leonid Krivoshein 2025-03-07 04:03:28 MSK
(In reply to Vera Blagoveschenskaya from comment #9)
> Кто поменял версию? Ошибка актуальна также для 11.0
Я поменял, т.к. по диагностике увидел, что там образ на p10.

> с параметром ip=dhcp4 пробуем
ОК. Но для 10.4 и 11.0 подход к этой проблеме будет существенно отличаться.
Comment 11 Антон Мидюков 2025-03-07 06:03:09 MSK
(In reply to Leonid Krivoshein from comment #10)
> (In reply to Vera Blagoveschenskaya from comment #9)
> > с параметром ip=dhcp4 пробуем
> ОК. Но для 10.4 и 11.0 подход к этой проблеме будет существенно отличаться.

11.0 - ip=dhcp4
10.x - autorun=method:<чего-то>,network:dhcp

В обоих случаях требуется поднять сеть в initrd. Но делается это по-разному, так как в 10.x - propagator, а в 11.x - altboot.
Comment 12 Антон Мидюков 2025-03-07 20:57:07 MSK
В 11 версии проблема не в NetworkManager. Опечатка в юните была. Исправление:
[#377201] p11 EPERM livecd-rescue.git=0.2-alt1
Comment 13 obidinog@basealt.ru 2025-03-11 14:57:56 MSK
Данный сценарий актуален только для Rescue режима. В alt-kworkstation install-образе отсутствует rescue, присутствует только LiveCD - поэтому данный сценарий не актуален для данного образа. 

Проверил поведение на alt-workstation install-образ(в нем присутствует Resque) + alt-kworkstation live образ - ошибка не воспроизводится.
Comment 14 Vera Blagoveschenskaya 2025-03-11 15:04:55 MSK
(Ответ для obidinog@basealt.ru на комментарий #13)
> Данный сценарий актуален только для Rescue режима. В alt-kworkstation
> install-образе отсутствует rescue, присутствует только LiveCD - поэтому
> данный сценарий не актуален для данного образа. 
> 
@zerg, @antohami вы согласны с данным утверждением ?

> Проверил поведение на alt-workstation install-образ(в нем присутствует
> Resque) + alt-kworkstation live образ - ошибка не воспроизводится.
В описании ошибки это и было изначально сказано.
Comment 15 Антон Мидюков 2025-03-11 15:15:02 MSK
(In reply to Vera Blagoveschenskaya from comment #14)
> (Ответ для obidinog@basealt.ru на комментарий #13)
> > Данный сценарий актуален только для Rescue режима. В alt-kworkstation
> > install-образе отсутствует rescue, присутствует только LiveCD - поэтому
> > данный сценарий не актуален для данного образа. 
> > 
> @zerg, @antohami вы согласны с данным утверждением ?
> 

Да, согласен. Я невнимательно прочитал заглавный пост.
rescue-launcher запускается или startup-rescue (в отдельном сквоше rescue, p10), или systemd юнитом, когда в параметрах загрузки systemd.unit=live-rescue.target (должен быть установлен пакет livecd-rescue). В обоих случая пункт меню по-анлийски называется "Rescue LiveCD".

(In reply to obidinog@basealt.ru from comment #13)
> Данный сценарий актуален только для Rescue режима. В alt-kworkstation
> install-образе отсутствует rescue, присутствует только LiveCD - поэтому
> данный сценарий не актуален для данного образа. 
> 
> Проверил поведение на alt-workstation install-образ(в нем присутствует
> Resque) + alt-kworkstation live образ - ошибка не воспроизводится.

Но проблема всё же была в p11 в режиме rescue.
Гонка между getty@tty1.service и live-rescue-launcher.service. Исправляется в таске 377201.