Make-initrd development discussion
 help / color / mirror / Atom feed
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:54:48 +0300
Message-ID: <444f9100-b03b-16c9-08b2-1c36952c2eac@gmail.com> (raw)
In-Reply-To: <20210927155920.ceczqzlt65qhbygu@example.org>


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.



  reply	other threads:[~2021-09-27 18:54 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 [this message]
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

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=444f9100-b03b-16c9-08b2-1c36952c2eac@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