[make-initrd] [devel] syslinux
Michael A. Kangin
mak at complife.ru
Fri Apr 19 02:00:51 MSK 2019
Так, я собрал себе M-I 2.3.0-alt1, там вроде сеть уже заявлена была.
Скачал сизифный найтбилд с xfce, поставил этот MI, собрал initrd:
AUTODETECT = all
MODULES_PRELOAD += autofs4
FEATURES += nfsroot
DISABLE_GUESS += ucode
Содержимое корня с установленной на диск системы расшарил по NFS:
/home/sisyphus
192.168.222.0/24(rw,async,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
reboo
Получившийся initrd пытаюсь загрузить с такими опциями:
:alt
set boot-path http://192.168.222.1/alt
kernel ${boot-path}/vmlinuz ip=dhcp4 nfsroot=192.168.222.1:/home/sisyphus
initrd ${boot-path}/initrd.img
boot
Инитрд сеть инициапизирует, однако фича nfsroot так никогда кажется и не
начинает работать - процесс загрузки висит до таймаута с "starting udevd
service", потом вываливается в шелл (rdshell: the waiting time expired)
grep -i nfs /var/log/* ничего не показывает.
По сети ни одного пакета, после получения адреса, не прилетает.
Из забавного - сеть с такой конфигурацией инициализируется довольно
долго. Причина из ueventd.log:
lo: waiting 16 seconds for configuration by dhcp ...
...
lo: dhcp done
Это результаты первого взгляда, потом потестирую поподробнее, может, с
учётом замечаний.
Буду благодарен за рецепты - методы отладки initrd, какие логи смотреть,
как их добывать, и так далее.
Так же, если nfs должно работать, очевидно я как-то не так его вызываю.
Есть образец удачной конфигурации?
On 04/17/2019 05:16 PM, Leonid Krivoshein wrote:
> Привет!
>
> Вот и я долго мучился: у нас же нет нет образов live/rescue/install без
> пропагатора, который, попадая в initramfs, закрывает собой всю логику
> make-initrd. Поэтому решил накостылить такое решение для тестирования на
> реальном железе:
>
> cd $TMPDIR
> mkdir nfs data
>
> cat >initrd.mk <<-EOF
> AUTODETECT =
> FEATURES += nfsroot
> PUT_DIRS += $TMPDIR/data/
> EOF
>
> cp -ar /lib/modules data/
> cp -ar /lib/firmware data/
> find data/firmware -type f -iname '*.txt' -delete
>
> make-initrd -c $TMPDIR/initrd.mk -b $TMPDIR/nfs
>
> Получается всеядный initrd.img, 250М в сильно сжатом виде. Всё это я
> проделываю на Сизифной виртуалке, обновив make-initrd из таска. В
> результате можно брать ядро из /boot и initrd.img из $TMPDIR/nfs и
> выкладывать сие на NFS-сервер, писать на флэшку, итд. И уже начинать
> играться с параметрами загрузки. Пока дальше я этот квест не проходил.
More information about the Make-initrd
mailing list