From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 27 Sep 2021 17:59:20 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20210927155920.ceczqzlt65qhbygu@example.org> References: <0449f9ee-3752-0972-a40d-5f3f50f5e6e9@basealt.ru> <20210923140546.kho57ezxxsh74nwt@example.org> <20210923143624.pv4hbukvgtt77t4f@example.org> <37bffecd-1b55-87c7-9c0e-da391998f62b@basealt.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <37bffecd-1b55-87c7-9c0e-da391998f62b@basealt.ru> Subject: Re: [make-initrd] =?utf-8?b?0JTQvtCx0LDQstC40YLRjCB1ZGV2INC/0YDQsNCy?= =?utf-8?b?0LjQu9C+INCyIGluaXRyZCDRh9C10YDQtdC3IGluaXRyZC5taw==?= X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Sep 2021 15:59:21 -0000 Archived-At: List-Archive: 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 и какой версии. > -- > С уважением, Антон Мидюков > _______________________________________________ > Make-initrd mailing list > Make-initrd@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/make-initrd -- Rgrds, legion