[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