[make-initrd] Wait until the resume= is processed

Leonid Krivoshein klark.devel at gmail.com
Sat Aug 27 04:01:56 MSK 2022


27.08.2022 03:02, Alexey Gladkov пишет:
> On Sat, Aug 27, 2022 at 12:48:08AM +0300, Leonid Krivoshein wrote:
>> [...]
> [...] В случае ошибки в resume= мы получим лишь
> невозможность просыпания, но не блокировку загрузки.
>
>> [...] события нахождения одного
>> и второго устройства, когда указаны оба, должны быть обработаны в такой
>> последовательности: сначала устройство свопа, затем устройство корня.
> Как раз эту последовательность я и хочу восстановить, устранив
> неопределённость в состоянии загрузки (resume vs boot). В обычном случае
> большой разницы для пользователя не будет, но если имеет место ошибка в
> resume=, то загрузка станет долгой, но всё ещё возможной.
>
>> [...] если бы
>> resume=... означало что-то типа "я хочу, чтобы при наличии рабочего
>> свопа с сигнатурой данных просыпания произошёл resume", тогда да, тогда
>> это не ошибка, resume -- такая опциональная фича загрузки. Но админы тут
>> ожидают другого.
> Сейчас resume= означает ровно то, что ты указал в кавычках.
>
>> [...]

Мне кажется, тут согласие по всем пунктам. Потому что загрузка не 
блокируется, а становится дольше. Но предупреждение при ошибке 
конфигурации ты же не против вывести? Понятно, что для починки даже 
плохой конфигурации всё равно придётся сначала загрузиться обычным 
способом. И в части того, что надо ждать не какого-то любого первого 
события, а сначала дождаться свопа, если он указан.

Ещё хорошо бы это сделать независимым от того, что в root=..., чтобы и 
такие фичи, как pipeline, не "гонялись" с ожиданием свопа. Грубо говоря, 
если такая финальная проверка будет выполняться после telinit 2. Если 
это нельзя распараллелить, ну, значит нельзя.


-- 
С уважением,
Леонид Кривошеин.


More information about the Make-initrd mailing list