Make-initrd development discussion
 help / color / mirror / Atom feed
From: "Антон Мидюков" <antohami@basealt.ru>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Добавить udev правило в initrd через initrd.mk
Date: Wed, 29 Sep 2021 11:18:15 +0700
Message-ID: <d7620a16-2a84-b116-0f08-540d861a87db@basealt.ru> (raw)
In-Reply-To: <444f9100-b03b-16c9-08b2-1c36952c2eac@gmail.com>

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>


  reply	other threads:[~2021-09-29  4:18 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             ` Антон Мидюков [this message]
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=d7620a16-2a84-b116-0f08-540d861a87db@basealt.ru \
    --to=antohami@basealt.ru \
    --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