Чтобы в early userspace (между запуском процесса просыпания и окончанием копирования старого ядра на место) отображался прогресс, в initrd необходимо положить статически собранную реализацию suspend2_userui и указать путь к ней в /sys/power/suspend2/user_interface/program. Таким образом, неважно, как называется эта программа в основной системе, её всегда можно положить как /bin/suspend2_userui и указать этот путь в /sys (что опять же не потребует правки linuxrc при смене имени). Итак, предлагается: 1. Некий ключ к mkinitrd (--with-suspend2-userui ?), принимающий имя файла в системе. Этот файл будет установлен как /bin/suspend2_userui в initrd. 2. Изменение linuxrc, что-то типа [ -x /bin/suspend2_userui ] && echo /bin/suspend2_userui > /sys/power/suspend2/ user_interface/program Вставить это необходимо непосредственно перед вызовом /sys/power/suspend2/ do_resume (см. #10469).
а) какой именно ui - важно, для fbsplash еще и тему нужно класть б) давай лучше сделаем в системе suspend2_userui с помощью alternatives.
надо еще потестить, конечно, но у меня без модификации linuxrc хватался suspend2userui_fbsplash, положенный на initrd в /usr/sbin/ . причем как его находят в системе после atomic copy - понятно, мы уже загрузили копию старого ядра со всеми переменными. а вот как находят до того - непонятно. но работает.
и еще. для чего нам иметь в системе userui_*, собранный _и_ динамически, _и_ _ статически?
(In reply to comment #3) > и еще. для чего нам иметь в системе userui_*, собранный _и_ динамически, _и_ _ > статически? Порезать на разные пакеты и не ставить статический, если он не нужен. :)
Оно ещё актуально?
Да вроде да.
у нас нет ядер с suspend2 и уже никогда не будет
At this time, I'm reluctant to add any enhancements to this monolithic mkinitrd. Please have a look at another implementations that have modular architecture, e.g. make-initrd by Alexey Gladkov and Kirill Shutemov.
Уже неинтересно.