* [make-initrd] Добавить udev правило в initrd через initrd.mk @ 2021-09-23 13:37 Антон Мидюков 2021-09-23 14:05 ` Alexey Gladkov 0 siblings, 1 reply; 26+ messages in thread From: Антон Мидюков @ 2021-09-23 13:37 UTC (permalink / raw) To: make-initrd Здравствуйте Подскажите, что нужно прописать в initrd.mk, чтобы добавить udev правило в initrd? Хочу ради эксперимента добавить /lib/udev/rules.d/80-net-setup-link.rules. Кажется, именно оно отвечает за то, что сетевые интерфейсы переименовываются в в enp0s8 подобные названия. Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже можно и не подключиться (сетевой интерфейс подключен один). Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 13:37 [make-initrd] Добавить udev правило в initrd через initrd.mk Антон Мидюков @ 2021-09-23 14:05 ` Alexey Gladkov 2021-09-23 14:20 ` Антон Мидюков 2021-09-23 14:43 ` Arseny Maslennikov 0 siblings, 2 replies; 26+ messages in thread From: Alexey Gladkov @ 2021-09-23 14:05 UTC (permalink / raw) To: make-initrd On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote: > Здравствуйте > > Подскажите, что нужно прописать в initrd.mk, чтобы добавить udev правило в initrd? > Хочу ради эксперимента добавить /lib/udev/rules.d/80-net-setup-link.rules. Это можно сделать двумя способами. Либо с помощью фичи add-udev-rules, которая активна по умолчанию: PUT_UDEV_RULES += *-net-setup-link.rules либо просто: PUT_FILES += /lib/udev/rules.d/80-net-setup-link.rules > Кажется, именно оно отвечает за то, что сетевые интерфейсы переименовываются в > в enp0s8 подобные названия. Это не оно. > Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой > установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе > имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже > можно и не подключиться (сетевой интерфейс подключен один). Переименовывает systemd или что-то около его. Насколько я помню на это влияет присутствие dmidecode. Это не моё дело, но инсталлер неправ, когда использует имена без последующей привязки имени к mac или businfo. > Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. initrd как раз ничего не переименовывает. Имя eth* каноническое. -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 14:05 ` Alexey Gladkov @ 2021-09-23 14:20 ` Антон Мидюков 2021-09-23 14:36 ` Alexey Gladkov 2021-09-23 16:12 ` Антон Мидюков 2021-09-23 14:43 ` Arseny Maslennikov 1 sibling, 2 replies; 26+ messages in thread From: Антон Мидюков @ 2021-09-23 14:20 UTC (permalink / raw) To: make-initrd 23.09.2021 21:05, Alexey Gladkov пишет: > On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote: >> Здравствуйте >> >> Подскажите, что нужно прописать в initrd.mk, чтобы добавить udev правило в initrd? >> Хочу ради эксперимента добавить /lib/udev/rules.d/80-net-setup-link.rules. > > Это можно сделать двумя способами. Либо с помощью фичи add-udev-rules, > которая активна по умолчанию: > > PUT_UDEV_RULES += *-net-setup-link.rules > Спасибо! > либо просто: > > PUT_FILES += /lib/udev/rules.d/80-net-setup-link.rules > >> Кажется, именно оно отвечает за то, что сетевые интерфейсы переименовываются в >> в enp0s8 подобные названия. > > Это не оно. > >> Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой >> установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе >> имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже >> можно и не подключиться (сетевой интерфейс подключен один). > > Переименовывает systemd или что-то около его. Насколько я помню на это > влияет присутствие dmidecode. > > Это не моё дело, но инсталлер неправ, когда использует имена без > последующей привязки имени к mac или businfo>> Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. > > initrd как раз ничего не переименовывает. Имя eth* каноническое. > Это я знаю. Но проблема в том, что уже поднятый интерфейс не переименовывается в stage2. Отсюда мысль, что нужно переименовать его ещё в initrd до его поднятия. -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 14:20 ` Антон Мидюков @ 2021-09-23 14:36 ` Alexey Gladkov 2021-09-27 15:38 ` Антон Мидюков 2021-09-23 16:12 ` Антон Мидюков 1 sibling, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-23 14:36 UTC (permalink / raw) To: make-initrd On Thu, Sep 23, 2021 at 09:20:44PM +0700, Антон Мидюков wrote: > >> Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой > >> установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе > >> имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже > >> можно и не подключиться (сетевой интерфейс подключен один). > > > > Переименовывает systemd или что-то около его. Насколько я помню на это > > влияет присутствие dmidecode. > > > > Это не моё дело, но инсталлер неправ, когда использует имена без > > последующей привязки имени к mac или businfo>> Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. > > > > initrd как раз ничего не переименовывает. Имя eth* каноническое. > > > > Это я знаю. Но проблема в том, что уже поднятый интерфейс не переименовывается в stage2. > Отсюда мысль, что нужно переименовать его ещё в initrd до его поднятия. Я предлагал наоборот в stage2 добавить аналог цикла: https://github.com/osboot/make-initrd/blob/master/features/network/data/lib/initrd/cmdline.d/network#L165-L175 или в системе их кто-то всё равно пытается переименовать ? -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 14:36 ` Alexey Gladkov @ 2021-09-27 15:38 ` Антон Мидюков 2021-09-27 15:59 ` Alexey Gladkov 2021-09-27 18:25 ` Leonid Krivoshein 0 siblings, 2 replies; 26+ messages in thread From: Антон Мидюков @ 2021-09-27 15:38 UTC (permalink / raw) To: make-initrd 23.09.2021 21:36, Alexey Gladkov пишет: > On Thu, Sep 23, 2021 at 09:20:44PM +0700, Антон Мидюков wrote: >>>> Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой >>>> установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе >>>> имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже >>>> можно и не подключиться (сетевой интерфейс подключен один). >>> >>> Переименовывает systemd или что-то около его. Насколько я помню на это >>> влияет присутствие dmidecode. >>> >>> Это не моё дело, но инсталлер неправ, когда использует имена без >>> последующей привязки имени к mac или businfo>> Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. >>> >>> initrd как раз ничего не переименовывает. Имя eth* каноническое. >>> >> >> Это я знаю. Но проблема в том, что уже поднятый интерфейс не переименовывается в stage2. >> Отсюда мысль, что нужно переименовать его ещё в initrd до его поднятия. > > Я предлагал наоборот в stage2 добавить аналог цикла: > > https://github.com/osboot/make-initrd/blob/master/features/network/data/lib/initrd/cmdline.d/network#L165-L175 > Возможно, это хорошая идея. Но почему-то я не увидел /etc/udev/rules.d/60-persistent-net.rules в initrd. Загружался с ip=dhcp stop=bootchain Фича network уже должна была отработать. Сетевые интерфейсы настроены. > или в системе их кто-то всё равно пытается переименовать ? > Настроенные в initrd интерфейсы никто не переименовывает в stage2. Отсюда и проблема. Мне кажется, нужно передавать правило udev в stage2, чтобы при установке скопировать в устанавливаемую систему. Тогда проблема бы решилась. -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-27 15:38 ` Антон Мидюков @ 2021-09-27 15:59 ` Alexey Gladkov 2021-09-27 18:54 ` Leonid Krivoshein 2021-09-27 18:25 ` Leonid Krivoshein 1 sibling, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-27 15:59 UTC (permalink / raw) To: make-initrd On Mon, Sep 27, 2021 at 10:38:40PM +0700, Антон Мидюков wrote: > 23.09.2021 21:36, Alexey Gladkov пишет: > > On Thu, Sep 23, 2021 at 09:20:44PM +0700, Антон Мидюков wrote: > >>>> Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой > >>>> установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе > >>>> имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже > >>>> можно и не подключиться (сетевой интерфейс подключен один). > >>> > >>> Переименовывает systemd или что-то около его. Насколько я помню на это > >>> влияет присутствие dmidecode. > >>> > >>> Это не моё дело, но инсталлер неправ, когда использует имена без > >>> последующей привязки имени к mac или businfo>> Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. > >>> > >>> initrd как раз ничего не переименовывает. Имя eth* каноническое. > >>> > >> > >> Это я знаю. Но проблема в том, что уже поднятый интерфейс не переименовывается в stage2. > >> Отсюда мысль, что нужно переименовать его ещё в initrd до его поднятия. > > > > Я предлагал наоборот в stage2 добавить аналог цикла: > > > > https://github.com/osboot/make-initrd/blob/master/features/network/data/lib/initrd/cmdline.d/network#L165-L175 > > > > Возможно, это хорошая идея. > Но почему-то я не увидел /etc/udev/rules.d/60-persistent-net.rules в initrd. > Загружался с ip=dhcp stop=bootchain > Фича network уже должна была отработать. Сетевые интерфейсы настроены. Правила /etc/udev/rules.d/60-persistent-net.rules создаются/дополняются только в случае если пользователь указал ifname=. Я подумал, что ненужно лезть без спросу куда не просили. Но ничего не мешает фиксировать интерфейсы в правилах всегда. Можно даже передавать эту информацию в том или ином виде через /dev/initramfs/ следующему шагу. > > или в системе их кто-то всё равно пытается переименовать ? > > > > Настроенные в initrd интерфейсы никто не переименовывает в stage2. Отсюда и проблема. > Мне кажется, нужно передавать правило udev в stage2, чтобы при установке скопировать в устанавливаемую > систему. Тогда проблема бы решилась. Можно передавать правило. Можно передавать более общую информацию, на основе которой можно сгенерировать не только правило. Например, если был передан ip=dhcp то initrd может передать на каком интерфейсе отозвался dhcpd и какой версии. > -- > С уважением, Антон Мидюков <antohami@basealt.ru> > _______________________________________________ > Make-initrd mailing list > Make-initrd@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/make-initrd -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-27 15:59 ` Alexey Gladkov @ 2021-09-27 18:54 ` Leonid Krivoshein 2021-09-29 4:18 ` Антон Мидюков 0 siblings, 1 reply; 26+ messages in thread From: Leonid Krivoshein @ 2021-09-27 18:54 UTC (permalink / raw) To: make-initrd 27.09.2021 18:59, Alexey Gladkov пишет: > On Mon, Sep 27, 2021 at 10:38:40PM +0700, Антон Мидюков wrote: >> 23.09.2021 21:36, Alexey Gladkov пишет: >>> On Thu, Sep 23, 2021 at 09:20:44PM +0700, Антон Мидюков wrote: >>>>>> Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой >>>>>> установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе >>>>>> имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже >>>>>> можно и не подключиться (сетевой интерфейс подключен один). >>>>> Переименовывает systemd или что-то около его. Насколько я помню на это >>>>> влияет присутствие dmidecode. >>>>> >>>>> Это не моё дело, но инсталлер неправ, когда использует имена без >>>>> последующей привязки имени к mac или businfo>> Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. >>>>> >>>>> initrd как раз ничего не переименовывает. Имя eth* каноническое. >>>>> >>>> Это я знаю. Но проблема в том, что уже поднятый интерфейс не переименовывается в stage2. >>>> Отсюда мысль, что нужно переименовать его ещё в initrd до его поднятия. >>> Я предлагал наоборот в stage2 добавить аналог цикла: >>> >>> https://github.com/osboot/make-initrd/blob/master/features/network/data/lib/initrd/cmdline.d/network#L165-L175 >>> >> Возможно, это хорошая идея. >> Но почему-то я не увидел /etc/udev/rules.d/60-persistent-net.rules в initrd. >> Загружался с ip=dhcp stop=bootchain >> Фича network уже должна была отработать. Сетевые интерфейсы настроены. > Правила /etc/udev/rules.d/60-persistent-net.rules создаются/дополняются > только в случае если пользователь указал ifname=. > > Я подумал, что ненужно лезть без спросу куда не просили. Но ничего не > мешает фиксировать интерфейсы в правилах всегда. > > Можно даже передавать эту информацию в том или ином виде через > /dev/initramfs/ следующему шагу. > >>> или в системе их кто-то всё равно пытается переименовать ? >>> >> Настроенные в initrd интерфейсы никто не переименовывает в stage2. Отсюда и проблема. >> Мне кажется, нужно передавать правило udev в stage2, чтобы при установке скопировать в устанавливаемую >> систему. Тогда проблема бы решилась. > Можно передавать правило. Можно передавать более общую информацию, на > основе которой можно сгенерировать не только правило. Например, если был > передан ip=dhcp то initrd может передать на каком интерфейсе отозвался > dhcpd и какой версии. Насколько я понял, проблема затрагивает только stage2 с универсальной загрузкой, даже точнее инсталлятор, который настраивает eth0, если мы грузимся изначально по сети, а в установленной системе после перезагрузки там оказывается какой-нибудь enp0s3 с настройкой etcnet для eth0. Тут вопрос в том, что конкретно в systemd/udevd отвечает за данное переименование, почему оно не срабатывает в том случае, если мы уже подняли сеть в stage1 и как сделать, чтобы если сеть поднималась в stage1, интерфейсу давалось аналогичное имя? Или наоборот: чтобы если мы его уже настроили как eth0, то чтобы оно не переименовывалось? Кстати, ведь тут можно генерировать тот же 60-persistent-net.rule для целевой системы. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-27 18:54 ` Leonid Krivoshein @ 2021-09-29 4:18 ` Антон Мидюков 0 siblings, 0 replies; 26+ messages in thread From: Антон Мидюков @ 2021-09-29 4:18 UTC (permalink / raw) To: make-initrd 28.09.2021 01:54, Leonid Krivoshein пишет: > > 27.09.2021 18:59, Alexey Gladkov пишет: >> On Mon, Sep 27, 2021 at 10:38:40PM +0700, Антон Мидюков wrote: >>> 23.09.2021 21:36, Alexey Gladkov пишет: >>>> On Thu, Sep 23, 2021 at 09:20:44PM +0700, Антон Мидюков wrote: >>>>>>> Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой >>>>>>> установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе >>>>>>> имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже >>>>>>> можно и не подключиться (сетевой интерфейс подключен один). >>>>>> Переименовывает systemd или что-то около его. Насколько я помню на это >>>>>> влияет присутствие dmidecode. >>>>>> >>>>>> Это не моё дело, но инсталлер неправ, когда использует имена без >>>>>> последующей привязки имени к mac или businfo>> Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. >>>>>> >>>>>> initrd как раз ничего не переименовывает. Имя eth* каноническое. >>>>>> >>>>> Это я знаю. Но проблема в том, что уже поднятый интерфейс не переименовывается в stage2. >>>>> Отсюда мысль, что нужно переименовать его ещё в initrd до его поднятия. >>>> Я предлагал наоборот в stage2 добавить аналог цикла: >>>> >>>> https://github.com/osboot/make-initrd/blob/master/features/network/data/lib/initrd/cmdline.d/network#L165-L175 >>>> >>> Возможно, это хорошая идея. >>> Но почему-то я не увидел /etc/udev/rules.d/60-persistent-net.rules в initrd. >>> Загружался с ip=dhcp stop=bootchain >>> Фича network уже должна была отработать. Сетевые интерфейсы настроены. >> Правила /etc/udev/rules.d/60-persistent-net.rules создаются/дополняются >> только в случае если пользователь указал ifname=. >> >> Я подумал, что ненужно лезть без спросу куда не просили. Но ничего не >> мешает фиксировать интерфейсы в правилах всегда. >> >> Можно даже передавать эту информацию в том или ином виде через >> /dev/initramfs/ следующему шагу. >> >>>> или в системе их кто-то всё равно пытается переименовать ? >>>> >>> Настроенные в initrd интерфейсы никто не переименовывает в stage2. Отсюда и проблема. >>> Мне кажется, нужно передавать правило udev в stage2, чтобы при установке скопировать в устанавливаемую >>> систему. Тогда проблема бы решилась. >> Можно передавать правило. Можно передавать более общую информацию, на >> основе которой можно сгенерировать не только правило. Например, если был >> передан ip=dhcp то initrd может передать на каком интерфейсе отозвался >> dhcpd и какой версии. > > Насколько я понял, проблема затрагивает только stage2 с универсальной загрузкой, даже точнее инсталлятор, который настраивает eth0, если мы грузимся изначально по сети, а в установленной системе после перезагрузки там оказывается какой-нибудь enp0s3 с настройкой etcnet для eth0. > > Тут вопрос в том, что конкретно в systemd/udevd отвечает за данное переименование, почему оно не срабатывает в том случае, если мы уже подняли сеть в stage1 и как сделать, чтобы если сеть поднималась в stage1, интерфейсу давалось аналогичное имя? Или наоборот: чтобы если мы его уже настроили как eth0, то чтобы оно не переименовывалось? Кстати, ведь тут можно генерировать тот же 60-persistent-net.rule для целевой системы. > Наконец-то разобрался. Нужно в /etc/initrd.mk дописать: PUT_UDEV_RULES += *-net-setup-link.rules *-net-description.rules PUT_FILES += /lib/systemd/network/99-default.link Только нужен исправленный make-initrd-2.24.0-alt2. На этом варианте и остановлюсь. -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-27 15:38 ` Антон Мидюков 2021-09-27 15:59 ` Alexey Gladkov @ 2021-09-27 18:25 ` Leonid Krivoshein 1 sibling, 0 replies; 26+ messages in thread From: Leonid Krivoshein @ 2021-09-27 18:25 UTC (permalink / raw) To: make-initrd 27.09.2021 18:38, Антон Мидюков пишет: > 23.09.2021 21:36, Alexey Gladkov пишет: >> On Thu, Sep 23, 2021 at 09:20:44PM +0700, Антон Мидюков wrote: >>>>> Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой >>>>> установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе >>>>> имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже >>>>> можно и не подключиться (сетевой интерфейс подключен один). >>>> Переименовывает systemd или что-то около его. Насколько я помню на это >>>> влияет присутствие dmidecode. >>>> >>>> Это не моё дело, но инсталлер неправ, когда использует имена без >>>> последующей привязки имени к mac или businfo>> Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. >>>> >>>> initrd как раз ничего не переименовывает. Имя eth* каноническое. >>>> >>> Это я знаю. Но проблема в том, что уже поднятый интерфейс не переименовывается в stage2. >>> Отсюда мысль, что нужно переименовать его ещё в initrd до его поднятия. >> Я предлагал наоборот в stage2 добавить аналог цикла: >> >> https://github.com/osboot/make-initrd/blob/master/features/network/data/lib/initrd/cmdline.d/network#L165-L175 >> > Возможно, это хорошая идея. > Но почему-то я не увидел /etc/udev/rules.d/60-persistent-net.rules в initrd. > Загружался с ip=dhcp stop=bootchain > Фича network уже должна была отработать. Сетевые интерфейсы настроены. > >> или в системе их кто-то всё равно пытается переименовать ? > Настроенные в initrd интерфейсы никто не переименовывает в stage2. Отсюда и проблема. Проблема в другом: когда мы грузимся с сетевыми параметрами, runtime make-initrd настраивает сетевую карту, даже если не переименовывает интерфейс, в другом случае он ничего не делает, так как нет сетевых параметров, тогда это делается в stage2. Как я понял, ты хочешь, чтобы независимо от сетевых параметров настройки интерфейсов были одинаковы в stage1 и stage2, для этого в stage1 нужны правила, которые будут попадать в initramfs и отрабатывать независимо от включенности фичи network. С этим может возникнуть одна проблема: если эти правила не успеют отработать до того, как будет найден корень, данное решение не поможет. К слову, фича network переименовывает интерфейс только если её об этом попросить, лишь в этом случае создаётся 60-persistent-net.rules. > Мне кажется, нужно передавать правило udev в stage2, чтобы при установке скопировать в устанавливаемую > систему. Тогда проблема бы решилась. Ни в коем случае. Потому что суммарный набор правил в stage2 всё равно будет непредсказуемым, stage1 об этом ничего не знает. Наверное, правильное направление -- разместить в stage1 те же udev rules около 8?-network-*, которые есть в stage2, для явного переименования интерфейса может отработать фича network, избежать рейса с тем, кто раньше -- найдётся корень или применятся правила к интерфейсам можно лишь опять же включив явно настройки ip. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 14:20 ` Антон Мидюков 2021-09-23 14:36 ` Alexey Gladkov @ 2021-09-23 16:12 ` Антон Мидюков 2021-09-23 19:13 ` Alexey Gladkov 1 sibling, 1 reply; 26+ messages in thread From: Антон Мидюков @ 2021-09-23 16:12 UTC (permalink / raw) To: make-initrd 23.09.2021 21:20, Антон Мидюков пишет: > 23.09.2021 21:05, Alexey Gladkov пишет: >> On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote: >>> Здравствуйте >>> >>> Подскажите, что нужно прописать в initrd.mk, чтобы добавить udev правило в initrd? >>> Хочу ради эксперимента добавить /lib/udev/rules.d/80-net-setup-link.rules. >> >> Это можно сделать двумя способами. Либо с помощью фичи add-udev-rules, >> которая активна по умолчанию: >> >> PUT_UDEV_RULES += *-net-setup-link.rules >> > > Спасибо! > Этот вариант приводит к проблеме. В 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 -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 16:12 ` Антон Мидюков @ 2021-09-23 19:13 ` Alexey Gladkov 2021-09-24 4:22 ` Антон Мидюков 0 siblings, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-23 19:13 UTC (permalink / raw) To: make-initrd 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 ? -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 19:13 ` Alexey Gladkov @ 2021-09-24 4:22 ` Антон Мидюков 2021-09-24 5:37 ` Антон Мидюков ` (2 more replies) 0 siblings, 3 replies; 26+ messages in thread From: Антон Мидюков @ 2021-09-24 4:22 UTC (permalink / raw) To: make-initrd 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 В нормальном режиме воспроизвести не получается. Если добавляю в /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 find-udev-rule-externals: run{builtin} = kmod load $env{MODALIAS} find-udev-rule-externals: run{builtin} = kmod load tifm_sd find-udev-rule-externals: run{builtin} = kmod load tifm_ms find-udev-rule-externals: run{builtin} = kmod load ms_block mspro_block find-udev-rule-externals: run{builtin} = kmod load i2o_block find-udev-rule-externals: run{builtin} = kmod load ppdev find-udev-rule-externals: run{builtin} = kmod load sm_ftl find-udev-rule-externals: import{program} = ata_id --export $devnode find-udev-rule-externals: import{program} = ata_id --export $devnode find-udev-rule-externals: import{program} = ata_id --export $devnode find-udev-rule-externals: import{builtin} = usb_id find-udev-rule-externals: import{program} = scsi_id --export --whitelisted -d $devnode find-udev-rule-externals: import{program} = scsi_id --export --whitelisted -d $devnode find-udev-rule-externals: import{builtin} = path_id find-udev-rule-externals: import{builtin} = blkid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} find-udev-rule-externals: import{builtin} = blkid --noraid find-udev-rule-externals: import{builtin} = blkid find-udev-rule-externals: import{builtin} = usb_id find-udev-rule-externals: import{builtin} = path_id find-udev-rule-externals: run{program} = $env{REMOVE_CMD} find-udev-rule-externals: import{builtin} = usb_id find-udev-rule-externals: import{builtin} = hwdb --subsystem=usb find-udev-rule-externals: import{builtin} = hwdb --subsystem=$env{SUBSYSTEM} put-tree: Copying '/tmp/make-initrd.HHFhQe74V/modules' recursively ... -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-24 4:22 ` Антон Мидюков @ 2021-09-24 5:37 ` Антон Мидюков 2021-09-24 9:53 ` Alexey Gladkov 2021-09-24 9:58 ` Alexey Gladkov 2 siblings, 0 replies; 26+ messages in thread From: Антон Мидюков @ 2021-09-24 5:37 UTC (permalink / raw) To: make-initrd 24.09.2021 11:22, Антон Мидюков пишет: > 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 > > В нормальном режиме воспроизвести не получается. > Если добавляю в /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 ... > C make-initrd 2.22.0-alt1 на p10 точно также. -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-24 4:22 ` Антон Мидюков 2021-09-24 5:37 ` Антон Мидюков @ 2021-09-24 9:53 ` Alexey Gladkov 2021-09-24 9:57 ` Антон Мидюков 2021-09-24 9:58 ` Alexey Gladkov 2 siblings, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-24 9:53 UTC (permalink / raw) To: make-initrd 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-24 9:53 ` Alexey Gladkov @ 2021-09-24 9:57 ` Антон Мидюков 0 siblings, 0 replies; 26+ messages in thread From: Антон Мидюков @ 2021-09-24 9:57 UTC (permalink / raw) To: make-initrd 24.09.2021 16:53, Alexey Gladkov пишет: > 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 было реализовано для тех кто хочет собрать себе > очень кастомное решение. > Да, сборка универсального initrd для загрузки iso как раз такое кастомное решение. >> В нормальном режиме воспроизвести не получается. >> Если добавляю в /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 > > не попали вот эти правила ? > Да. Но вне hasher такое повторить не могу. -- С уважением, Антон Мидюков <antohami@basealt.ru> ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-24 4:22 ` Антон Мидюков 2021-09-24 5:37 ` Антон Мидюков 2021-09-24 9:53 ` Alexey Gladkov @ 2021-09-24 9:58 ` Alexey Gladkov 2021-09-24 13:17 ` Leonid Krivoshein 2 siblings, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-24 9:58 UTC (permalink / raw) To: make-initrd 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 > > В нормальном режиме воспроизвести не получается. > Если добавляю в /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 > find-udev-rule-externals: run{builtin} = kmod load $env{MODALIAS} > find-udev-rule-externals: run{builtin} = kmod load tifm_sd > find-udev-rule-externals: run{builtin} = kmod load tifm_ms > find-udev-rule-externals: run{builtin} = kmod load ms_block mspro_block > find-udev-rule-externals: run{builtin} = kmod load i2o_block > find-udev-rule-externals: run{builtin} = kmod load ppdev > find-udev-rule-externals: run{builtin} = kmod load sm_ftl > find-udev-rule-externals: import{program} = ata_id --export $devnode > find-udev-rule-externals: import{program} = ata_id --export $devnode > find-udev-rule-externals: import{program} = ata_id --export $devnode > find-udev-rule-externals: import{builtin} = usb_id > find-udev-rule-externals: import{program} = scsi_id --export --whitelisted -d $devnode > find-udev-rule-externals: import{program} = scsi_id --export --whitelisted -d $devnode > find-udev-rule-externals: import{builtin} = path_id > find-udev-rule-externals: import{builtin} = blkid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} > find-udev-rule-externals: import{builtin} = blkid --noraid > find-udev-rule-externals: import{builtin} = blkid > find-udev-rule-externals: import{builtin} = usb_id > find-udev-rule-externals: import{builtin} = path_id > find-udev-rule-externals: run{program} = $env{REMOVE_CMD} > find-udev-rule-externals: import{builtin} = usb_id > find-udev-rule-externals: import{builtin} = hwdb --subsystem=usb > find-udev-rule-externals: import{builtin} = hwdb --subsystem=$env{SUBSYSTEM} > put-tree: Copying '/tmp/make-initrd.HHFhQe74V/modules' recursively ... # initrd-diff /tmp/initrd-5.10.62-std-def-alt1.img{.old,} --- initrd-5.10.62-std-def-alt1.img.old +++ initrd-5.10.62-std-def-alt1.img @@ -366,4 +366 @@ -2 xz -rw-r--r-- 1 0 0 3885 ./etc/udev/rules.d/50-udev-default.rules -2 xz -rw-r--r-- 1 0 0 2651 ./etc/udev/rules.d/60-persistent-input.rules -2 xz -rw-r--r-- 1 0 0 7967 ./etc/udev/rules.d/60-persistent-storage.rules -2 xz -rw-r--r-- 1 0 0 556 ./etc/udev/rules.d/80-drivers.rules +2 xz -rw-r--r-- 1 0 0 295 ./etc/udev/rules.d/80-net-setup-link.rules Да, это бага. Спасибо! Пока что кладите это правило PUT_FILES. Там нет вызова внешних утилит и ничего страшного не будет. -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-24 9:58 ` Alexey Gladkov @ 2021-09-24 13:17 ` Leonid Krivoshein 2021-09-24 13:52 ` [make-initrd] has_feature() и initrd_release() Leonid Krivoshein 2021-09-24 14:29 ` [make-initrd] Добавить udev правило в initrd через initrd.mk Alexey Gladkov 0 siblings, 2 replies; 26+ messages in thread From: Leonid Krivoshein @ 2021-09-24 13:17 UTC (permalink / raw) To: make-initrd 24.09.2021 12:58, Alexey Gladkov пишет: > # initrd-diff /tmp/initrd-5.10.62-std-def-alt1.img{.old,} > --- initrd-5.10.62-std-def-alt1.img.old > +++ initrd-5.10.62-std-def-alt1.img > @@ -366,4 +366 @@ > -2 xz -rw-r--r-- 1 0 0 3885 ./etc/udev/rules.d/50-udev-default.rules > -2 xz -rw-r--r-- 1 0 0 2651 ./etc/udev/rules.d/60-persistent-input.rules > -2 xz -rw-r--r-- 1 0 0 7967 ./etc/udev/rules.d/60-persistent-storage.rules > -2 xz -rw-r--r-- 1 0 0 556 ./etc/udev/rules.d/80-drivers.rules > +2 xz -rw-r--r-- 1 0 0 295 ./etc/udev/rules.d/80-net-setup-link.rules > > Да, это бага. Спасибо! > > Пока что кладите это правило PUT_FILES. Там нет вызова внешних утилит и > ничего страшного не будет. В этой связи три вопроса: 1. Ничего, что временно откачу изменения с переходом на PUT_UDEV_RULES? 2. Что надо сделать, чтобы заработала has_feature() ? а то сейчас command not found. 3. Это нормально, что в /etc/{os,initrd}-release попадает последняя апстримная версия (2.24.0), а не та, с которой я собираю образ (2.24.1)? -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 26+ messages in thread
* [make-initrd] has_feature() и initrd_release() 2021-09-24 13:17 ` Leonid Krivoshein @ 2021-09-24 13:52 ` Leonid Krivoshein 2021-09-24 14:31 ` Alexey Gladkov 2021-09-24 14:29 ` [make-initrd] Добавить udev правило в initrd через initrd.mk Alexey Gladkov 1 sibling, 1 reply; 26+ messages in thread From: Leonid Krivoshein @ 2021-09-24 13:52 UTC (permalink / raw) To: make-initrd 24.09.2021 16:17, Leonid Krivoshein пишет: > 2. Что надо сделать, чтобы заработала has_feature() ? а то сейчас > command not found. Ой, с command not found явно мой косяк, видимо не подключен initrd-sh-functions. Этого же достаточно или надо явно включать какую-нибудь фичу? > 3. Это нормально, что в /etc/{os,initrd}-release попадает последняя > апстримная версия (2.24.0), а не та, с которой я собираю образ (2.24.1)? > И 4) как я понял, initrd_release() в API рантайма пока нет? -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] has_feature() и initrd_release() 2021-09-24 13:52 ` [make-initrd] has_feature() и initrd_release() Leonid Krivoshein @ 2021-09-24 14:31 ` Alexey Gladkov 2021-09-24 14:56 ` Leonid Krivoshein 0 siblings, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-24 14:31 UTC (permalink / raw) To: make-initrd On Fri, Sep 24, 2021 at 04:52:37PM +0300, Leonid Krivoshein wrote: > > 24.09.2021 16:17, Leonid Krivoshein пишет: > > 2. Что надо сделать, чтобы заработала has_feature() ? а то сейчас > > command not found. > > Ой, с command not found явно мой косяк, видимо не подключен > initrd-sh-functions. > Этого же достаточно или надо явно включать какую-нибудь фичу? > > > > 3. Это нормально, что в /etc/{os,initrd}-release попадает последняя > > апстримная версия (2.24.0), а не та, с которой я собираю образ (2.24.1)? > > > > И 4) как я понял, initrd_release() в API рантайма пока нет? Видимо я подзабыл про неё. Напомни, эта функция должна возвращать релиз make-initrd ? -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] has_feature() и initrd_release() 2021-09-24 14:31 ` Alexey Gladkov @ 2021-09-24 14:56 ` Leonid Krivoshein 0 siblings, 0 replies; 26+ messages in thread From: Leonid Krivoshein @ 2021-09-24 14:56 UTC (permalink / raw) To: make-initrd 24.09.2021 17:31, Alexey Gladkov пишет: >> 4) как я понял, initrd_release() в API рантайма пока нет? > Видимо я подзабыл про неё. Напомни, эта функция должна возвращать релиз > make-initrd ? У меня аналогичная функция initrd_version() возвращает сейчас строку "2.24.0", т.е. читает VERSION_ID из релиз-файла. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-24 13:17 ` Leonid Krivoshein 2021-09-24 13:52 ` [make-initrd] has_feature() и initrd_release() Leonid Krivoshein @ 2021-09-24 14:29 ` Alexey Gladkov 2021-09-24 14:54 ` Leonid Krivoshein 1 sibling, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-24 14:29 UTC (permalink / raw) To: make-initrd On Fri, Sep 24, 2021 at 04:17:06PM +0300, Leonid Krivoshein wrote: > > 24.09.2021 12:58, Alexey Gladkov пишет: > > # initrd-diff /tmp/initrd-5.10.62-std-def-alt1.img{.old,} > > --- initrd-5.10.62-std-def-alt1.img.old > > +++ initrd-5.10.62-std-def-alt1.img > > @@ -366,4 +366 @@ > > -2 xz -rw-r--r-- 1 0 0 3885 ./etc/udev/rules.d/50-udev-default.rules > > -2 xz -rw-r--r-- 1 0 0 2651 ./etc/udev/rules.d/60-persistent-input.rules > > -2 xz -rw-r--r-- 1 0 0 7967 ./etc/udev/rules.d/60-persistent-storage.rules > > -2 xz -rw-r--r-- 1 0 0 556 ./etc/udev/rules.d/80-drivers.rules > > +2 xz -rw-r--r-- 1 0 0 295 ./etc/udev/rules.d/80-net-setup-link.rules > > > > Да, это бага. Спасибо! > > > > Пока что кладите это правило PUT_FILES. Там нет вызова внешних утилит и > > ничего страшного не будет. > > В этой связи три вопроса: > > 1. Ничего, что временно откачу изменения с переходом на PUT_UDEV_RULES? Я уже исправил это. Скоро отправлю в master и сделаю новою сборку пакета. Мне кажется лучше подождать фикса. > 2. Что надо сделать, чтобы заработала has_feature() ? а то сейчас command > not found. Эта функция есть всегда: $ git grep has_feature data/bin/initrd-sh-functions:127:has_feature() > 3. Это нормально, что в /etc/{os,initrd}-release попадает последняя > апстримная версия (2.24.0), а не та, с которой я собираю образ (2.24.1)? Откуда у тебя 2.24.1, если такой версии ещё не было ? Расскажи как именно ты собираешь ? -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-24 14:29 ` [make-initrd] Добавить udev правило в initrd через initrd.mk Alexey Gladkov @ 2021-09-24 14:54 ` Leonid Krivoshein 0 siblings, 0 replies; 26+ messages in thread From: Leonid Krivoshein @ 2021-09-24 14:54 UTC (permalink / raw) To: make-initrd 24.09.2021 17:29, Alexey Gladkov пишет: > On Fri, Sep 24, 2021 at 04:17:06PM +0300, Leonid Krivoshein wrote: >> 24.09.2021 12:58, Alexey Gladkov пишет: >>> # initrd-diff /tmp/initrd-5.10.62-std-def-alt1.img{.old,} >>> --- initrd-5.10.62-std-def-alt1.img.old >>> +++ initrd-5.10.62-std-def-alt1.img >>> @@ -366,4 +366 @@ >>> -2 xz -rw-r--r-- 1 0 0 3885 ./etc/udev/rules.d/50-udev-default.rules >>> -2 xz -rw-r--r-- 1 0 0 2651 ./etc/udev/rules.d/60-persistent-input.rules >>> -2 xz -rw-r--r-- 1 0 0 7967 ./etc/udev/rules.d/60-persistent-storage.rules >>> -2 xz -rw-r--r-- 1 0 0 556 ./etc/udev/rules.d/80-drivers.rules >>> +2 xz -rw-r--r-- 1 0 0 295 ./etc/udev/rules.d/80-net-setup-link.rules >>> >>> Да, это бага. Спасибо! >>> >>> Пока что кладите это правило PUT_FILES. Там нет вызова внешних утилит и >>> ничего страшного не будет. >> В этой связи три вопроса: >> >> 1. Ничего, что временно откачу изменения с переходом на PUT_UDEV_RULES? > Я уже исправил это. Скоро отправлю в master и сделаю новою сборку пакета. > Мне кажется лучше подождать фикса. > >> 2. Что надо сделать, чтобы заработала has_feature() ? а то сейчас command >> not found. > Эта функция есть всегда: > > $ git grep has_feature > data/bin/initrd-sh-functions:127:has_feature() Да, уже разобрался. >> 3. Это нормально, что в /etc/{os,initrd}-release попадает последняя >> апстримная версия (2.24.0), а не та, с которой я собираю образ (2.24.1)? > Откуда у тебя 2.24.1, если такой версии ещё не было ? > Расскажи как именно ты собираешь ? Локально. А теперь и в таске #285908. Но туда не смотри, я пришлю как договорились отдельными патчами. С первой итерацией уложился в 1.5 суток, тестирование мной прошло успешно. Надеюсь, дальше дело быстрее пойдёт. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 14:05 ` Alexey Gladkov 2021-09-23 14:20 ` Антон Мидюков @ 2021-09-23 14:43 ` Arseny Maslennikov 2021-09-23 15:22 ` Alexey Gladkov 1 sibling, 1 reply; 26+ messages in thread From: Arseny Maslennikov @ 2021-09-23 14:43 UTC (permalink / raw) To: make-initrd [-- Attachment #1: Type: text/plain, Size: 3108 bytes --] On Thu, Sep 23, 2021 at 04:05:46PM +0200, Alexey Gladkov wrote: > On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote: > > Здравствуйте > > > > Подскажите, что нужно прописать в initrd.mk, чтобы добавить udev правило в initrd? > > Хочу ради эксперимента добавить /lib/udev/rules.d/80-net-setup-link.rules. > > Это можно сделать двумя способами. Либо с помощью фичи add-udev-rules, > которая активна по умолчанию: > > PUT_UDEV_RULES += *-net-setup-link.rules > > либо просто: > > PUT_FILES += /lib/udev/rules.d/80-net-setup-link.rules > > > Кажется, именно оно отвечает за то, что сетевые интерфейсы переименовываются в > > в enp0s8 подобные названия. > > Это не оно. > > > Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой > > установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе > > имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже > > можно и не подключиться (сетевой интерфейс подключен один). > > Переименовывает systemd или что-то около его. Переименовывает сам udevd, т. е. его встроеннный компонент: https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_setup_link.c https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_id.c >> % cat /lib/udev/rules.d/80-net-setup-link.rules >> # do not edit this file, it will be overwritten on update >> >> SUBSYSTEM!="net", GOTO="net_setup_link_end" >> >> IMPORT{builtin}="path_id" >> >> ACTION=="remove", GOTO="net_setup_link_end" >> >> IMPORT{builtin}="net_setup_link" ^^^^^^^^^^^^^^ Вот здесь этот компонент и вступает в игру. >> >> NAME=="", ENV{ID_NET_NAME}!="", NAME="$env{ID_NET_NAME}" >> >> LABEL="net_setup_link_end" > Насколько я помню на это > влияет присутствие dmidecode. > > Это не моё дело, но инсталлер неправ, когда использует имена без > последующей привязки имени к mac или businfo. > > > Соответственно, появилась мысль, что нужно отработать в initrd udev-правило переименования интерфейса. > > initrd как раз ничего не переименовывает. Имя eth* каноническое. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] Добавить udev правило в initrd через initrd.mk 2021-09-23 14:43 ` Arseny Maslennikov @ 2021-09-23 15:22 ` Alexey Gladkov 2021-09-23 15:39 ` [make-initrd] udev network interface renaming policy Arseny Maslennikov 0 siblings, 1 reply; 26+ messages in thread From: Alexey Gladkov @ 2021-09-23 15:22 UTC (permalink / raw) To: make-initrd On Thu, Sep 23, 2021 at 05:43:07PM +0300, Arseny Maslennikov wrote: > On Thu, Sep 23, 2021 at 04:05:46PM +0200, Alexey Gladkov wrote: > > On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote: > > > Здравствуйте > > > > > > Подскажите, что нужно прописать в initrd.mk, чтобы добавить udev правило в initrd? > > > Хочу ради эксперимента добавить /lib/udev/rules.d/80-net-setup-link.rules. > > > > Это можно сделать двумя способами. Либо с помощью фичи add-udev-rules, > > которая активна по умолчанию: > > > > PUT_UDEV_RULES += *-net-setup-link.rules > > > > либо просто: > > > > PUT_FILES += /lib/udev/rules.d/80-net-setup-link.rules > > > > > Кажется, именно оно отвечает за то, что сетевые интерфейсы переименовываются в > > > в enp0s8 подобные названия. > > > > Это не оно. > > > > > Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой > > > установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе > > > имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже > > > можно и не подключиться (сетевой интерфейс подключен один). > > > > Переименовывает systemd или что-то около его. > > Переименовывает сам udevd, т. е. его встроеннный компонент: > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_setup_link.c > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_id.c Пытается переименовать именно оно, вы правы. Но делает она по каким-то полиси: https://github.com/systemd/systemd/blob/42ffc40ce382dfda5f2a100698673bc252a72194/src/udev/net/link-config.c#L455 > >> % cat /lib/udev/rules.d/80-net-setup-link.rules > >> # do not edit this file, it will be overwritten on update > >> > >> SUBSYSTEM!="net", GOTO="net_setup_link_end" > >> > >> IMPORT{builtin}="path_id" > >> > >> ACTION=="remove", GOTO="net_setup_link_end" > >> > >> IMPORT{builtin}="net_setup_link" > ^^^^^^^^^^^^^^ > Вот здесь этот компонент и вступает в игру. > >> > >> NAME=="", ENV{ID_NET_NAME}!="", NAME="$env{ID_NET_NAME}" > >> > >> LABEL="net_setup_link_end" Но это правило есть и у меня на системе, но переименования не случается. Почему этого не происходит у меня я пока не понял. -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
* [make-initrd] udev network interface renaming policy 2021-09-23 15:22 ` Alexey Gladkov @ 2021-09-23 15:39 ` Arseny Maslennikov 2021-09-23 19:05 ` Alexey Gladkov 0 siblings, 1 reply; 26+ messages in thread From: Arseny Maslennikov @ 2021-09-23 15:39 UTC (permalink / raw) To: make-initrd [-- Attachment #1: Type: text/plain, Size: 2885 bytes --] On Thu, Sep 23, 2021 at 05:22:22PM +0200, Alexey Gladkov wrote: > On Thu, Sep 23, 2021 at 05:43:07PM +0300, Arseny Maslennikov wrote: > > On Thu, Sep 23, 2021 at 04:05:46PM +0200, Alexey Gladkov wrote: > > > On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote: > > > > Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой > > > > установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе > > > > имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже > > > > можно и не подключиться (сетевой интерфейс подключен один). > > > > > > Переименовывает systemd или что-то около его. > > > > Переименовывает сам udevd, т. е. его встроенный компонент: > > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_setup_link.c > > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_id.c > > Пытается переименовать именно оно, вы правы. Но делает она по каким-то > полиси: > > https://github.com/systemd/systemd/blob/42ffc40ce382dfda5f2a100698673bc252a72194/src/udev/net/link-config.c#L455 ...Описанным в systemd.link(5). [1] > > >> % cat /lib/udev/rules.d/80-net-setup-link.rules > > >> # do not edit this file, it will be overwritten on update > > >> > > >> SUBSYSTEM!="net", GOTO="net_setup_link_end" > > >> > > >> IMPORT{builtin}="path_id" > > >> > > >> ACTION=="remove", GOTO="net_setup_link_end" > > >> > > >> IMPORT{builtin}="net_setup_link" > > ^^^^^^^^^^^^^^ > > Вот здесь этот компонент и вступает в игру. > > >> > > >> NAME=="", ENV{ID_NET_NAME}!="", NAME="$env{ID_NET_NAME}" > > >> > > >> LABEL="net_setup_link_end" > > Но это правило есть и у меня на системе, но переименования не случается. > Почему этого не происходит у меня я пока не понял. Может, лежит в нужном месте .link-файл, в котором указано не переименовывать (см. ман-страницу). Или не лежит, а замазан (т. е. действительны результаты работы команды `ln -s /dev/null /etc/systemd/network/99-default.link') [1] https://man7.org/linux/man-pages/man5/systemd.link.5.html [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [make-initrd] udev network interface renaming policy 2021-09-23 15:39 ` [make-initrd] udev network interface renaming policy Arseny Maslennikov @ 2021-09-23 19:05 ` Alexey Gladkov 0 siblings, 0 replies; 26+ messages in thread From: Alexey Gladkov @ 2021-09-23 19:05 UTC (permalink / raw) To: make-initrd On Thu, Sep 23, 2021 at 06:39:38PM +0300, Arseny Maslennikov wrote: > On Thu, Sep 23, 2021 at 05:22:22PM +0200, Alexey Gladkov wrote: > > On Thu, Sep 23, 2021 at 05:43:07PM +0300, Arseny Maslennikov wrote: > > > On Thu, Sep 23, 2021 at 04:05:46PM +0200, Alexey Gladkov wrote: > > > > On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote: > > > > > Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой > > > > > установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе > > > > > имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже > > > > > можно и не подключиться (сетевой интерфейс подключен один). > > > > > > > > Переименовывает systemd или что-то около его. > > > > > > Переименовывает сам udevd, т. е. его встроенный компонент: > > > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_setup_link.c > > > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_id.c > > > > Пытается переименовать именно оно, вы правы. Но делает она по каким-то > > полиси: > > > > https://github.com/systemd/systemd/blob/42ffc40ce382dfda5f2a100698673bc252a72194/src/udev/net/link-config.c#L455 > > ...Описанным в systemd.link(5). [1] > > > > >> % cat /lib/udev/rules.d/80-net-setup-link.rules > > > >> # do not edit this file, it will be overwritten on update > > > >> > > > >> SUBSYSTEM!="net", GOTO="net_setup_link_end" > > > >> > > > >> IMPORT{builtin}="path_id" > > > >> > > > >> ACTION=="remove", GOTO="net_setup_link_end" > > > >> > > > >> IMPORT{builtin}="net_setup_link" > > > ^^^^^^^^^^^^^^ > > > Вот здесь этот компонент и вступает в игру. > > > >> > > > >> NAME=="", ENV{ID_NET_NAME}!="", NAME="$env{ID_NET_NAME}" > > > >> > > > >> LABEL="net_setup_link_end" > > > > Но это правило есть и у меня на системе, но переименования не случается. > > Почему этого не происходит у меня я пока не понял. > > Может, лежит в нужном месте .link-файл, в котором указано не > переименовывать (см. ман-страницу). Или не лежит, а замазан (т. е. > действительны результаты работы команды `ln -s /dev/null > /etc/systemd/network/99-default.link') > > [1] https://man7.org/linux/man-pages/man5/systemd.link.5.html У меня нет systemd вообще. Также нет каталога /etc/systemd/network. Ну да ладно. Видимо, это частности конкретной системы. -- Rgrds, legion ^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2021-09-29 4:18 UTC | newest] Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-23 13:37 [make-initrd] Добавить udev правило в initrd через initrd.mk Антон Мидюков 2021-09-23 14:05 ` Alexey Gladkov 2021-09-23 14:20 ` Антон Мидюков 2021-09-23 14:36 ` Alexey Gladkov 2021-09-27 15:38 ` Антон Мидюков 2021-09-27 15:59 ` Alexey Gladkov 2021-09-27 18:54 ` Leonid Krivoshein 2021-09-29 4:18 ` Антон Мидюков 2021-09-27 18:25 ` Leonid Krivoshein 2021-09-23 16:12 ` Антон Мидюков 2021-09-23 19:13 ` Alexey Gladkov 2021-09-24 4:22 ` Антон Мидюков 2021-09-24 5:37 ` Антон Мидюков 2021-09-24 9:53 ` Alexey Gladkov 2021-09-24 9:57 ` Антон Мидюков 2021-09-24 9:58 ` Alexey Gladkov 2021-09-24 13:17 ` Leonid Krivoshein 2021-09-24 13:52 ` [make-initrd] has_feature() и initrd_release() Leonid Krivoshein 2021-09-24 14:31 ` Alexey Gladkov 2021-09-24 14:56 ` Leonid Krivoshein 2021-09-24 14:29 ` [make-initrd] Добавить udev правило в initrd через initrd.mk Alexey Gladkov 2021-09-24 14:54 ` Leonid Krivoshein 2021-09-23 14:43 ` Arseny Maslennikov 2021-09-23 15:22 ` Alexey Gladkov 2021-09-23 15:39 ` [make-initrd] udev network interface renaming policy Arseny Maslennikov 2021-09-23 19:05 ` Alexey Gladkov
Make-initrd development discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \ make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com public-inbox-index make-initrd Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.make-initrd AGPL code for this site: git clone https://public-inbox.org/public-inbox.git