Bug 35479 - не реагирует на ключевое слово poweroff в /proc/cmdline должным образом
Summary: не реагирует на ключевое слово poweroff в /proc/cmdline должным образом
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: installer (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 34231
  Show dependency tree
 
Reported: 2018-10-06 11:13 MSK by Michael Shigorin
Modified: 2018-10-16 08:42 MSK (History)
10 users (show)

See Also:


Attachments
хвост вывода установщика (отладочная сборка с доп. сообщениями) (15.40 KB, image/png)
2018-10-06 17:16 MSK, Michael Shigorin
no flags Details
Хвост вывода установщика с новым task #214717 (72.09 KB, image/jpeg)
2018-10-14 21:32 MSK, Leonid Krivoshein
no flags Details
Хвост вывода установщика с новым task #214967 (71.37 KB, image/jpeg)
2018-10-15 01:13 MSK, Leonid Krivoshein
no flags Details
Запуск установки сервера с poweroff (64.21 KB, image/jpeg)
2018-10-15 19:15 MSK, Leonid Krivoshein
no flags Details
Хвост вывода установщика regular-server.iso (176.72 KB, image/jpeg)
2018-10-15 19:18 MSK, Leonid Krivoshein
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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)