[make-initrd] Wait until the resume= is processed
Alexey Gladkov
gladkov.alexey at gmail.com
Thu Aug 25 15:41:11 MSK 2022
Привет!
Мне нужна ваша помощь. Я раздумывал про то как устроено resume в initramfs
и связанные с этим проблемы.
Если всё суммировать, то проблема лишь одна:
Если swap на отдельном устройстве, то оно может проинициализироваться
позже чем устройство, на котором находится корень. То есть мы не знаем по
какому сценарию мы движемся.
К счастью мы ждём не какой-нибудь swap, а вполне конкретный, определённый
через параметр resume= . Поэтому если _начать_ считать, что указанное в
параметре устройство обязательно должно по явиться, то неопределённости
уже не будет.
Проблема в том, что сейчас устройство указанное в resume= опционально т.е.
параметр может указывать на что-то от предыдущий установки, например.
У меня есть соблазн сделать:
1. Ждать устройство resume= и пробовать проснуться.
2. Если устройство есть и не получилось, то обрабатывать накопившиеся
эвенты для обычной загрузки.
3. Если мы достигли rootdelay= и resume= не появился, то сбросить delay,
выдать большое предупреждение об отсутствии resume= и грузиться нормально.
4. Возможно, при создании initramfs смотреть на resume= в /proc/cmdline и
предупреждать, что устройства нет. В этом пункте я сильно не уверен.
Что вы думаете по этому поводу ?
--
Rgrds, legion
More information about the Make-initrd
mailing list