Добрый день!

09.04.2018 13:41, Alex Moskalenko пишет:
Никак не могу понять, каким образом заставить
udev/propagator/кто-этим-должен-заниматься загружать модули для сетевой
карты автоматически.


Сегодня попробовал такой грязный хак (во вложении), но он не помог, потому что в нашу прошивку похоже вообще не попадает нужных модулей. Пропагатор подменяет своим интеллектом интеллект make-initrd, делая это на самой ранней стадии, становясь в initramfs единственным "главным управляющим". Идея моего патча в том, чтобы сдвинуть пропагатор как-то на попозже -- после хуков udev но до цикла ожидания появления корня. Не уверен, что это кому-то поможет, но вдруг?..


Константин Лепихов писал:

т.е. propagator при загрузке дергает udevadm trigger на ранней стадии,
далее trigger --action=add дергается только для методов disk и cdrom.
Наверное, это баг, и стоит добавить udevtrigger_add для метода network?


Поскольку не первый день над этой темой работаю, могу точно сказать точно, что происходит. Пропагатор начинает работать действительно на очень ранней стадии, когда обнаружение устройств ещё в самом разгаре. Я тоже пытаюсь заменить его скриптами и выходит, что нужно либо событийно-ориентированный подход, который уже есть в make-initrd v0.8, либо хотя бы простой цикл ожидания или задержка. У меня первое обращение к /sys/class/net/ тоже показывает только lo, и лишь на втором круге после секундной задержки появляется нужный интерфейс.

2 mike@: спасибо за звоночек! :)


--
Best regards,
Leonid Krivoshein.

commit a93ef33113400ee39437a02f184e6974348f6ca1
Author: Leonid Krivoshein <kl...@altlinux.org>
Date:   Thu Apr 19 00:54:07 2018 +0300

    - Change order to start propagator after udev and before loop.

diff --git a/make-initrd-propagator.spec b/make-initrd-propagator.spec
index 60e6ee4..c5746e7 100644
--- a/make-initrd-propagator.spec
+++ b/make-initrd-propagator.spec
@@ -1,6 +1,6 @@
 Name: make-initrd-propagator
 Version: 0.32
-Release: alt1
+Release: alt2
 
 Summary: Put propagator into make-initrd generated image
 
@@ -39,6 +39,9 @@ mkdir -p %buildroot%_datadir/make-initrd/features/propagator/data/image
 %_datadir/make-initrd/features/propagator
 
 %changelog
+* Thu Apr 19 2018 Leonid Krivoshein <kl...@altlinux.ru> 0.32-alt2
+- Change order to start propagator after udev and before loop.
+
 * Sun Jan 21 2018 Arseny Maslennikov <ars...@altlinux.org> 0.32-alt1
 - netboot: Allowed use of different overlay storage locations.
 - netboot: Forbade mounting overlays with unspecified profile.
diff --git a/propagator/data/scripts/pre/prepare/000-propagator b/propagator/data/scripts/pre/prepare/000-propagator
deleted file mode 100755
index fabe5b8..0000000
--- a/propagator/data/scripts/pre/prepare/000-propagator
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh -efu
-
-readonly PROPAGATOR="/usr/sbin/propagator"
-readonly UDEVADM="/sbin/udevadm"
-
-if [ -x "$PROPAGATOR" ]; then
-    if [ -x "$UDEVADM" ]; then
-        "$UDEVADM" trigger --action=add
-        "$UDEVADM" settle
-    fi
-    exec "$PROPAGATOR"
-fi
diff --git a/propagator/data/scripts/pre/prepare/060-propagator b/propagator/data/scripts/pre/prepare/060-propagator
new file mode 100755
index 0000000..494c9d0
--- /dev/null
+++ b/propagator/data/scripts/pre/prepare/060-propagator
@@ -0,0 +1,7 @@
+#!/bin/sh -efu
+
+readonly PROPAGATOR="/usr/sbin/propagator"
+
+if [ -x "$PROPAGATOR" ]; then
+    exec "$PROPAGATOR"
+fi
_______________________________________________
Sysadmins mailing list
Sysadmins@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить