27.09.2021 20:22, Leonid Krivoshein пишет: > > 27.09.2021 16:57, Alexey Gladkov пишет: >> On Mon, Sep 27, 2021 at 04:11:43PM +0300, Leonid Krivoshein wrote: >>> [...] >>>>> Другим компонентам bootchain при расширении (а теперь это уже более >>>>> десятка фич и подпакетов) тоже может потребоваться подобная >>>>> инициализация. >>>>> Здесь в одном коммите видно, куда переехал код функции prepare(). >>>>> Хуки нужны >>>>> для того, чтобы вызывать подобную инициализацию из определённого >>>>> места, так >>>>> как базовый пакет bootchain-core может не знать, с какими >>>>> компонентами >>>>> bootchain собран initramfs. Соответственно, включаемые скрипты >>>>> кладутся в >>>>> /lib/bootchain-prepare.d. Если потребуется, по аналогии можно >>>>> добавить в >>>>> stop() хуки для деинициализации. >>>> https://github.com/osboot/make-initrd/blob/master/data/etc/rc.d/rc#L32-L38 >>>> >>>> https://github.com/osboot/make-initrd/blob/master/data/etc/rc.d/rc#L61 >>>> https://github.com/osboot/make-initrd/blob/master/data/etc/rc.d/rc#L109 >>>> >>>> https://github.com/osboot/make-initrd/blob/master/data/etc/rc.d/rc#L114 >>>> >>>> >>>> Ты имеешь в виду вот такие хуки ? >>> Ну очень похожие, хотя use_hooks() явно проще -- без блокировки >>> консоли, без >>> бита выполнения, просто соурсим исходники: >> Эти хуки уже давно есть и можно использовать. Не нужно дублировать >> этот же >> функционал. > > Дойдя до этого места не понял, как их можно использовать... > > Делаю скрипт выполняемым, а класть-то его куда? В > /lib/initrd/pre/bootchain-core/ ? > Проверочная сборка показала, что этот путь не работает. Если загрузиться с параметрами waitdev=UUID=1234 waitdev_timeout=180 rdshell и запустить из rdshell руками /lib/initrd/pre/bootchain-core/300-waitdev , только тогда видно, что правильно отрабатывает. Но автоматом хук не запускается. В коде есть механизм запуска, но он не используется ни в одной фиче и в data/ его тоже нет, только сам этот скрипт rc. Вот изменения, на всякий случай: -- Best regards, Leonid Krivoshein.