[make-initrd] Добавить udev правило в initrd через initrd.mk
Alexey Gladkov
gladkov.alexey at gmail.com
Fri Sep 24 12:53:02 MSK 2021
On Fri, Sep 24, 2021 at 11:22:55AM +0700, Антон Мидюков wrote:
> 24.09.2021 02:13, Alexey Gladkov пишет:
> > On Thu, Sep 23, 2021 at 11:12:35PM +0700, Антон Мидюков wrote:
> >> Этот вариант приводит к проблеме. В initrd не попадают:
> >> /etc/udev/rules.d/50-udev-default.rules
> >> /etc/udev/rules.d/60-persistent-input.rules
> >> /etc/udev/rules.d/60-persistent-storage.rules
> >> /etc/udev/rules.d/80-drivers.rules
> >
> > # initrd-ls /boot/initrd.img |grep -e udev-default.rules -e persistent-input.rules -e persistent-storage.rules -e drivers.rules
> > 2 -rw-r--r-- 1 0 0 3885 Jan 01 01:00:00 1970 ./etc/udev/rules.d/50-udev-default.rules
> > 2 -rw-r--r-- 1 0 0 2651 Jan 01 01:00:00 1970 ./etc/udev/rules.d/60-persistent-input.rules
> > 2 -rw-r--r-- 1 0 0 7967 Jan 01 01:00:00 1970 ./etc/udev/rules.d/60-persistent-storage.rules
> > 2 -rw-r--r-- 1 0 0 556 Jan 01 01:00:00 1970 ./etc/udev/rules.d/80-drivers.rules
> >
> > За их попадание отвечает add-udev-rules.
> >
> > Расскажите, как собираете образ и какая версия make-initrd ?
> >
>
> Собираю в mkimage-profiles regular-net-install.iso:
>
> make-initrd 2.24.0-alt1
>
> make-initrd --no-checks AUTODETECT= -v -k 5.13.18-un-def-alt1
Раз уж вы пришли в эту рассылку, то воспользуюсь случаем! ))
Я хочу ещё раз обратить внимание, что если пользователь отключает
AUTODETECT, по сути переходит в expert mode. Он сам должен добавлять фичи
и модули в зависимости от версии make-initrd.
Отключение AUTODETECT было реализовано для тех кто хочет собрать себе
очень кастомное решение.
> В нормальном режиме воспроизвести не получается.
> Если добавляю в /etc/initrd.mk:
> PUT_UDEV_RULES += *-net-setup-link.rules
>
> В выводе make-initrd:
>
> [00:00:03] Putting udev rules ...
> put-rules: Copying udev rules ...
> '/lib/udev/rules.d/80-net-setup-link.rules' -> '/tmp/make-initrd.qK7agTPYz/modules/etc/udev/rules.d/80-net-setup-link.rules'
> '/lib/udev/rules.d/80-net-setup-link.rules' -> '/tmp/make-initrd.qK7agTPYz/modules/etc/udev/rules.d/80-net-setup-link.rules'
> find-udev-rule-externals: import{builtin} = path_id
> find-udev-rule-externals: import{builtin} = net_setup_link
> put-tree: Copying '/tmp/make-initrd.qK7agTPYz/modules' recursively ...
Всё верно. Правило добавилось, вызовы утилит нашлись.
> Если не добавляю, то:
>
> [00:00:01] Putting udev rules ...
> put-rules: Copying udev rules ...
> '/usr/share/make-initrd/features/add-udev-rules/rules.d/50-udev-default.rules' -> '/tmp/make-initrd.HHFhQe74V/modules/etc/udev/rules.d/50-udev-default.rules'
> '/usr/share/make-initrd/features/add-udev-rules/rules.d/60-persistent-input.rules' -> '/tmp/make-initrd.HHFhQe74V/modules/etc/udev/rules.d/60-persistent-input.rules'
> '/usr/share/make-initrd/features/add-udev-rules/rules.d/60-persistent-storage.rules' -> '/tmp/make-initrd.HHFhQe74V/modules/etc/udev/rules.d/60-persistent-storage.rules'
> '/usr/share/make-initrd/features/add-udev-rules/rules.d/80-drivers.rules' -> '/tmp/make-initrd.HHFhQe74V/modules/etc/udev/rules.d/80-drivers.rules'
> put-rules: WARNING: Found two udev rules with the same name but different content: /lib/udev/initramfs-rules.d/50-udev-default.rules
> put-rules: WARNING: Found two udev rules with the same name but different content: /lib/udev/initramfs-rules.d/60-persistent-storage.rules
> put-rules: WARNING: Found two udev rules with the same name but different content: /lib/udev/initramfs-rules.d/80-drivers.rules
Стоп. Вы хотите сказать, что при указании:
PUT_UDEV_RULES += *-net-setup-link.rules
не попали вот эти правила ?
--
Rgrds, legion
More information about the Make-initrd
mailing list