[make-initrd] Fwd: [#269003] TESTED make-initrd.git=2.14.1-alt1

Alexey Gladkov gladkov.alexey at gmail.com
Tue Apr 6 11:44:50 MSK 2021


On Tue, Apr 06, 2021 at 01:51:30AM +0300, Leonid Krivoshein wrote:
> 8. Можно сделать общее описание входа/выхода для всех поддерживаемых шагов и
> выполнять необходимые проверки до и после выполнения шага, чтобы не не
> делать этого внутри самих шагов. Такое описание будет полезно и для шага
> debug. Шаги могут быть транзитными (pass-thru).

Я не хочу навязывать что должны шага принимать и уж тем более нельзя
навязывать, что они должны возвращать. Например, waitdev ничего не
монтирует т.е. на выходе нет ничего кроме задержки перед следующим шагом.

Могут быть шаги, которые будут спрашивать что-то у пользователя. Описывать
такое очень сложно.

Как организовывать debug это другой вопрос. Можно добавить в шаги больше
verbose сообщений. Можно также сделать шаг shell, который даст консоль.

> [уже не про pipeline]
> 
> Иногда нужно не делать switch_root "$rootmnt" "$INIT", а нужно просто
> запустить скрипт "$INIT" с подмонтированного "$rootmnt", полностью остановив
> счётчик таймаута загрузки, и разрешив интерактивное взаимодействие. При этом
> make-initrd с запущенными фоновыми процессами может продолжать работать, а
> организацию выключения/перезагрузки можно возложить на запущенный скрипт.
> Как лучше реализовать аналог data/etc/rc.d/rc.sysexec?

Ты всегда можешь придумать свой "метод" загрузки.

Для обычных систем это localdev [1], который подразумевает пинок init,
чтобы тот выполнил rc.sysexec.

Но ты можешь это изменить и придумать свою последовательность (какую
хочешь). Например вот фича [2], которая реализует "метод" bootloader,
который показывает меню и делает kexec.

[1] https://github.com/osboot/make-initrd/tree/master/data/lib/initrd/boot/method/localdev
[2] https://github.com/osboot/make-initrd-bootloader

-- 
Rgrds, legion



More information about the Make-initrd mailing list