From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Добавить udev правило в initrd через initrd.mk
Date: Mon, 27 Sep 2021 21:25:03 +0300
Message-ID: <650ab26b-fef7-0b82-e7ac-e9dd15c46e37@gmail.com> (raw)
In-Reply-To: <37bffecd-1b55-87c7-9c0e-da391998f62b@basealt.ru>
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.
next prev parent reply other threads:[~2021-09-27 18:25 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-23 13:37 Антон Мидюков
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=650ab26b-fef7-0b82-e7ac-e9dd15c46e37@gmail.com \
--to=klark.devel@gmail.com \
--cc=make-initrd@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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