[make-initrd] [devel] syslinux

Michael A. Kangin mak at complife.ru
Fri Apr 19 19:33:22 MSK 2019


On 04/19/2019 06:01 AM, Leonid Krivoshein wrote:

> Не, до NFS ещё видимо никто не доходил! :) А тестировать можно с опциями 
> debug, rdshell или STOP=,шаг, -- про это есть в документации и на ВиКи. 

Не так давно rdshell была полностью сломана, теперь вроде починилась.. 
Ладно, уже хлеб

А вот это вот - "- `stop=<comma-separated list>` specifies the list of 
stages to where it's necessary to open emergency console." - есть список 
актуальных stages? мне показалось что в новой версии он значительно 
изменился

> Может, не попадает нужных модулей в такой initrd?

Как минимум для сетевой карты попадает (виртуалка в kvm)

Для nfs не знаю, что ему надо - модули nfs/lockd/sunrpc там есть.
Однако, этот nfsmount, который то ли из klibc, то ли kinit utils, будучи 
вручную запущенным, так же не работает с глубокомысленной диагностикой
~:# nfsmount 192.168.222.1:/home/sisyphus /root/
connect: Connection refused
read: Connection refused
read: Connection refused

Не знаю, правильно ли его так вызывать - документации не нашёл.
Впрочем, на моей памяти он кажется никогда не работал.


Если внутрь initrd положить человеческий mount.nfs с доп.модулями типа 
nfsv4, то ручками корень монтируется без проблем.
~:# mount.nfs 192.168.222.1:/home/sisyphus /root/
~:# ls /root/
bin         etc         lib64       media       proc        sbin 
sys         var
boot        home        libx32      mnt         root        selinux     tmp
dev         lib         lost+found  opt         run         srv         usr


Однако, дальше ничего не происходит - если покинуть теперь шелл, то 
инитрд продолжает висеть вечно и чего-то ждать, даже по таймауту не 
отваливается.

Резюмируя:
- сеть кое_как работает,  её на данном этапе можно потестировать только 
вручную, можно проверить все заявленные режимы-параметры.
- nfsroot не работает ваааще.
- пытаться смигрировать CLB, основываясь на чтении исходников 
неработающей фичи, неразумно и преждевременно.
- пожалуй, сейчас стоит пообщать Алексея, чтобы не играть в догадки и не 
тратить время впустую.

Я выложил дополнительные образы http://mak.complife.ru/MI2/
как минимум удобно пользовать debug.cpio, с ним можно пользоваться башем 
и запустить (пока ручками) dropbear (/etc/init.d/dropbear start). Вшитый 
ключик приаттачил.
Если будете грузить доп. образы с модулями, не забудьте первым делом 
сказать depmod -a, автоматику пока не развёл.

Образец меню для iPXE:
:alt
set boot-path http://192.168.222.1/alt
kernel ${boot-path}/vmlinuz ip=dhcp4 root=/dev/nfs 
nfsroot=192.168.222.1:/home/sisyphus debug rdshell
initrd ${boot-path}/initrd.img
initrd ${boot-path}/debug.cpio
initrd ${boot-path}/nfs.cpio
# initrd ${boot-path}/common_boot.modules.5.0.6-un-def-alt1.cpio
initrd ${boot-path}/nfs.modules.5.0.6-un-def-alt1.cpio
boot


common_boot.modules не обязателен, но там расширенный набор модулей для 
разных сетевух и флешек/hdd/iso, может быть полезен.



> Вот не думаю, что Dracut будет лучше для Альта, тем более, M-I вполне интересное решение. В любом случае я просил legion@ смотреть и на Dracut, и live-boot из Debian, хотя все они примерно ровесники. 

Есть еще и RHEL.




More information about the Make-initrd mailing list