Bug 35479

Summary: не реагирует на ключевое слово poweroff в /proc/cmdline должным образом
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: installerAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: antohami, boyarsh, cas, grenka, klark.devel, klark, mike, rider, sem, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 34231    
Attachments:
Description Flags
хвост вывода установщика (отладочная сборка с доп. сообщениями)
none
Хвост вывода установщика с новым task #214717
none
Хвост вывода установщика с новым task #214967
none
Запуск установки сервера с poweroff
none
Хвост вывода установщика regular-server.iso none

Description Michael Shigorin 2018-10-06 11:13:20 MSK
В install2-init.c с 2015 года (коммит 99b4a883, версия 1.8.29-alt1) добавлена обработка ключевого слова poweroff в параметрах загрузки ядра, которая должна приводить к выключению вместо перезагрузки после завершения установки (предположительно сетевой) во избежание зацикливания.

Последние несколько лет после initrd не остаётся смонтированным /proc (и вместо обработки получали ругань grep на /proc/cmdline, который отсутствовал), но и после обеспечения его наличия отладочным fprintf'ом выяснил, что ловить ключслово ловит, только по завершении установки всё равно идёт на перезагрузку.

Поскольку такая функциональность нам пригодится, лучше бы её починить до p9.
Comment 1 Michael Shigorin 2018-10-06 17:16:36 MSK
Created attachment 7798 [details]
хвост вывода установщика (отладочная сборка с доп. сообщениями)
Comment 2 Leonid Krivoshein 2018-10-07 23:37:22 MSK
Попробовал исправить: task #214238 (черновик)
Comment 3 Leonid Krivoshein 2018-10-08 00:17:14 MSK
(В ответ на комментарий №0)
> после обеспечения его наличия отладочным fprintf'ом выяснил, что ловить
> ключслово ловит, только по завершении установки всё равно идёт на перезагрузку.

Дело было в повторной попытке принудительного монтирования /proc после reexec'а (pivot_root). При запуске /usr/sbin/install2 твой fprintf ловил всё правильно, /proc отмонтировался, проходила инсталляция, затем выполнялся reexec. А у повторно запущенного процесса под именем "/mnt/init" /proc уже был смонтирован, поэтому полезный код check_poweroff() не выполнялся, поскольку ориентировался на успех монтирования /proc.
Comment 4 Leonid Krivoshein 2018-10-14 21:32:04 MSK
Created attachment 7808 [details]
Хвост вывода установщика с новым task #214717

Собрал инсталлятор JeOS с новым Task #214717. Заодно попытался заменить не очень правильно работавшие killall/umount_fs. По крайней мере, инсталлятор не падает. Но и вывод пока не устраивает, странный он какой-то.
Comment 5 Leonid Krivoshein 2018-10-15 01:13:28 MSK
Created attachment 7809 [details]
Хвост вывода установщика с новым task #214967

Последний task сделал начисто. Тоже не падает. Хвост почти не отличается. Существенные отличия от предыдущих заданий: нормально оформленные коммиты и пока не исправлена логика killall()/umount_fs(), соответственно, данный пакет не добавляет зависимости на /sbin/killall5. Вот это задание можешь сам посмотреть / проверить или скажи мне / обнинцам, как это сделать (с чем собрать образ), а то с JeOS какая-то фигня выходит.
Comment 6 Leonid Krivoshein 2018-10-15 19:15:52 MSK
Created attachment 7810 [details]
Запуск установки сервера с poweroff

Благодаря mike@ удалось наконец собрать нормальный установщик и проверить task #214967.
Comment 7 Leonid Krivoshein 2018-10-15 19:18:11 MSK
Created attachment 7811 [details]
Хвост вывода установщика regular-server.iso

С task #214967 функциональность poweroff вернулась в норму.
Comment 8 Grigory Ustinov 2018-10-15 20:26:17 MSK
(В ответ на комментарий №7)
> Created an attachment (id=7811) [details]
> Хвост вывода установщика regular-server.iso
> 
> С task #214967 функциональность poweroff вернулась в норму.

А кто закрывать багу будет?)
Comment 9 Leonid Krivoshein 2018-10-15 20:56:39 MSK
(В ответ на комментарий №8)
> А кто закрывать багу будет?)

Обнинск, после тестирования... и надо бы ещё код поревьювить.
Comment 10 Repository Robot 2018-10-16 08:42:37 MSK
installer-1.8.44-alt1 -> sisyphus:

Mon Oct 15 2018 Leonid Krivoshein <klark@altlinux> 1.8.44-alt1
- Fix poweroff functionality (closes #35479)