obecne z initramfs sambu pripojit samozrejme davno lze, je potreba pouze:
- pridat smb jadernej modul
- pridat do initrd skriptu detekci parametru smbroot
- pridat do initrd skriptu mountuni smb kdyz najde smbroot parametr
nasledne uz by (*1) initrd pokracoval jak je zvyklej...
*1) problem kterej ale je, je pri pouziti takto pripojeneho smb sdileni jako korenovy adresar systemu,
tedy predpokladam ze pripravovane patche do jadra budou resit prave to, aby se opravneni/vlastnici atd co bezne koren pozaduje cetli/ukladali treba do /smb_rootfs_linux ...
jinak pred casem sem z nejakeho duvodu potreboval diskless pxe boot GNU/Linuxu ale z smb sdileni a jak popisuju vejs sem si initrd upravil, akorat ze neslo o regulerni rootfs, ale o live, tzn, z samba sdileni se primontoval jeste filesystem.squashfs(readonly), pridala se prekryvna vrstva aufs(readwrite) a to se teprve pozuilo jako rootfs...
Ono je to dokonce tak, že i initramfs může být přímo součástí jádra, tedy součástí souboru vmlinuz.
Takže všude kde můžu nabootovat jádro (z disku, po síti přes pxe, atd) můžu i namountovat sambu přes userspace skrz initramfs. Takže to bude fungovat i tam kde by třeba nefungovalo nahrávání externího initramfs z extra dalšího souboru. Nechápu teda vůbec smysl téhle iniciativy.
Pokud to správně chápu, tak kernel (vmlinux) je ELF binárka, a ta může mít sekce.
Initramfs v jádru je uložený v sekci .init.ramfs. Pokud je možné tuhle sekci editovat, tak to půjde. Otázka je čím a jak.
Navíc je rozdíl mezi vmlinux a vmlinuz, skript z následujícího URL umí vypakovat ELF binárku (vmlinux) ze souboru vmlinuz:
https://raw.githubusercontent.com/torvalds/linux/master/scripts/extract-vmlinux
Jak tu ELF sekci ale editovat, to nevím (možná HT editor?) a jak to zapakovat zpátky do vmlinuz to už jsem taky nehledal.
Koukněte na http://www.tldp.org/HOWTO/Bootdisk-HOWTO/x703.html
Je to postup kdysi dávno používaný pro boot diskety. A řekl bych, že bude pořád funkční..
Pro embedded zařízení (nějaký menší ARM s u-boot) se initramdisk obvykle nepoužívá, protože není důvod, kernel se kompiluje na míru pro dané zařízení. S přípravou initrd je další práce, a distribuce jako yocto nebo ptxdist na to nejsou úplně zařízené. Nic co by nešlo řešit, ale možnost nabootovat totožný image jako produkční s rootfs na síti se hodí. Třeba pro testování nebo automatickou instalaci.
Máme třeba produkt, kde je recovery reinstall možný přes TFTP, a pak je nejsnazší nabootovat do standardního standardní image na NFS. Díky této novince lze stejný postup použít i v případě, kdy mám po ruce jen CIFS - a Windows uživatelů je většina. Šlo by to řešit malým rootfs image co by se stahoval taky přes TFTP, ale to je zas nějaká práce a údržba navíc.