При загрузке по сети время загрузки может превысить 1,5 минуты. В результате запускается rdshell. Приходится выходить из rdshell, чтобы продолжить загрузку. Нужно заблокировать запуск rdshell, либо выходить из него после успешного завершения работы bootchain.
Таймаут для того и задаётся, чтобы если он превышен, выпадали в rdshell, этим управляет make-initrd, а как раз bootchain/altboot с /dev/console не работают. Если таймаута недостаточно, его можно увеличить. Значение по умолчанию 180 секунд. Как мы говорили, таймер отключается при активации диалогов и включается обратно при деактивации altboot. Из этого следует, что если 1) мы видим диалоги, 2) в /proc/cmdline нет параметра rdshell и 3) возникает указанное, то ошибка действительно есть и надо разбираться, на чьей стороне...
(Ответ для Leonid Krivoshein на комментарий #1) > Таймаут для того и задаётся, чтобы если он превышен, выпадали в rdshell, > этим управляет make-initrd, а как раз bootchain/altboot с /dev/console не > работают. Если таймаута недостаточно, его можно увеличить. Значение по > умолчанию 180 секунд. Как мы говорили, таймер отключается при активации > диалогов и включается обратно при деактивации altboot. Из этого следует, что > если 1) мы видим диалоги, 2) в /proc/cmdline нет параметра rdshell и 3) > возникает указанное, то ошибка действительно есть и надо разбираться, на > чьей стороне... Вопрос, а как можно посмотреть наличие каталога /.initrd/rootdelay/pause, наличие которого является признаком паузы rootdelay, если не включать rdshell? Проблема есть. Когда появляется диалог настройки скачивания образа или сквоша, то достаточно в нём задержаться на несколько минут, после чего, как только bootchain завершит работу, появится rdshell. Нажимаешь ctrl+d и загрузка успешно продолжается.
(Ответ для Антон Мидюков на комментарий #2) > Когда появляется диалог настройки скачивания образа или > сквоша, то достаточно в нём задержаться на несколько минут, после чего, как > только bootchain завершит работу, появится rdshell. Нажимаешь ctrl+d и > загрузка успешно продолжается. Вот теперь понятно, что происходит. Шаги bootchain есть интерактивные и не интерактивные. Как только bootchain переключился на передний план, так сразу отключается отсчёт таймера make-initrd. Но это обычно не происходит сразу -- есть определённый вместе с тобой таймаут примерно в 8 секунд либо при появлении первого диалога ввода. И как только bootchain завершает работу и выходит в make-initrd, проверка таймера активируется снова, а к моменту долгой сетевой загрузки тут обнаруживается превышение таймаута в 180 секунд. Так что в bootchain нет ошибки и в make-initrd тоже, так задумано. Мы не знаем на самом деле, что make-initrd будет дальше делать с разделом, найденным пошаговым способом. Возможно там сработает переключение какой-то в следующий режим загрузки и продолжится какая-то обработка. Нужно посоветоваться с legion@. Как мне кажется, для данного случая правильнее всего увеличить общий таймаут.
(Ответ для Leonid Krivoshein на комментарий #3) > (Ответ для Антон Мидюков на комментарий #2) > > Когда появляется диалог настройки скачивания образа или > > сквоша, то достаточно в нём задержаться на несколько минут, после чего, как > > только bootchain завершит работу, появится rdshell. Нажимаешь ctrl+d и > > загрузка успешно продолжается. > Вот теперь понятно, что происходит. > > Шаги bootchain есть интерактивные и не интерактивные. Как только bootchain > переключился на передний план, так сразу отключается отсчёт таймера > make-initrd. Но это обычно не происходит сразу -- есть определённый вместе с > тобой таймаут примерно в 8 секунд либо при появлении первого диалога ввода. При bc_debug происходит сразу. Я проверял и с ним. > И как только bootchain завершает работу и выходит в make-initrd, проверка > таймера активируется снова, а к моменту долгой сетевой загрузки тут > обнаруживается превышение таймаута в 180 секунд. Ну не отключался он, вот только непонятно, как это проверить, чтобы доказать. Надо в самом bootchain проверку сделать, чтобы в лог написало. Только так...
Проблема актулаьн(Ответ для Leonid Krivoshein на комментарий #3) > (Ответ для Антон Мидюков на комментарий #2) > > Когда появляется диалог настройки скачивания образа или > > сквоша, то достаточно в нём задержаться на несколько минут, после чего, как > > только bootchain завершит работу, появится rdshell. Нажимаешь ctrl+d и > > загрузка успешно продолжается. > Вот теперь понятно, что происходит. > > Шаги bootchain есть интерактивные и не интерактивные. Как только bootchain > переключился на передний план, так сразу отключается отсчёт таймера > make-initrd. Но это обычно не происходит сразу -- есть определённый вместе с > тобой таймаут примерно в 8 секунд либо при появлении первого диалога ввода. > И как только bootchain завершает работу и выходит в make-initrd, проверка > таймера активируется снова, а к моменту долгой сетевой загрузки тут > обнаруживается превышение таймаута в 180 секунд. > Да. Нужно отключать тайм-аут на время работы bootchain. make-initrd после того, как bootchain закончил работу, теперь сразу проверяет наличие init. Если его нет, даёт rdshell. Поэтому тайм-аут теперь можно спокойно останавливать на время работы bootchain.
make-initrd-bootchain-0.1.5-alt16 -> sisyphus: Mon May 08 2023 Leonid Krivoshein <klark@altlinux> 0.1.5-alt16 - altboot: fixed timeout event on slow image loading (ALT #44107)