[make-initrd] handlers
Michael A. Kangin
mak at complife.ru
Tue Apr 30 19:39:31 MSK 2019
On 04/30/2019 06:07 PM, Alexey Gladkov wrote:
> * Когда наступил таймаут (rootdelay) пользователю будет выдан шелл;
К этому моменту, по идее, все статусы и ошибки должны уже отобразиться.
Кстати, а что будет, если не успеть загрузить образ rootfs за rootdelay?
> * Когда в cmdline был указан параметр rdshell=1;
> * Когда пользователь перешёл в режим интерактивной загрузки.
Он знал на что шёл!!
Кстати, с этим и сейчас бывают проблемы. Если загрузка вербозная, то
ядро любит какой-нибудь rnd инициализировать с радостными воплями после
первых нажатий на клавиши (свежую энтропию подвезли, чо)
> Во всех этих случаях /dev/console будет занята шеллом и, возможно, там
> будет работать пользователь. Прогресс в этом случае будет сильно ему
> мешать. Можно пытаться учитывать занята ли консоль или нет (для этого есть
> функции).
Ага, например (а какие?)
или проверять перед каждым выводом, не появился ли процесс консоли?
Еще есть смутная мысль, что можно попробовать сделать какую-то status
line для текущих статусных сообщений от handler'ов (они же поочерёдно
выполняются, и драться друг с другом не будут) и фатальных ошибок.
например screen'ом:
https://www.systutorials.com/241379/how-to-add-a-status-bar-to-screen-on-linux/
Или более низкоуровнево, tput / ESC-seq
Или гонять шелл на других консолях, а первую оставить только для статусов?
И еще же plymouth может быть..
>
>> Может, тогда из хандлера запускать демона, который сделает всю работу в
>> вербальном режиме?
>
> Ты себе представляешь двух демонов дерущихся за консоль ?
Да я еще мож и поучаствовал бы!!!11
More information about the Make-initrd
mailing list