Add NFS capabilities to initrd of Tumbleweed hybrid live image instead of AoE

9 views
Skip to first unread message

Delaney Ebbinger

unread,
Apr 22, 2025, 8:36:26 AMApr 22
to kiwi
Dear group,

I'm trying to build a custom Tumbleweed hybrid live image that can be booted via PXE & NFS. I already have the required infrastructure in place to sucessfully boot other Linux live images (e.g. Ubuntu's approach via casper) this way, however from what I've gathered kiwi only supports building live images with AoE capabilities out of the box.

If I've read the docs correctly I would need to instruct dracut to build the initrd of the image with an additional NFS module. I'm struggling to find the exact config file where I can tell dracut to do so though.

To summarise: I'd like KIWI to automatically add NFS capabilities to the initrd when I build an image with type ISO. Could anyone please offer me any guidance on how to do so?

Marcus Schäfer

unread,
Apr 22, 2025, 11:08:49 AMApr 22
to kiwi-...@googlegroups.com
Hi,

> I'm trying to build a custom Tumbleweed hybrid live image that can be
> booted via PXE & NFS. I already have the required infrastructure in
> place to sucessfully boot other Linux live images (e.g. Ubuntu's
> approach via casper) this way, however from what I've gathered kiwi
> only supports building live images with AoE capabilities out of the
> box.

kiwi supports live image builds using the upstream dmsquash dracut
module. So if you build your image with the type configured like this

<type image="iso" .... flags="dmsquash" ... />

you gain access to the livenet feature of dracut. This feature allows
you to specify the following setting to be passed along to the kernel
from your PXE setup:

root=live:http://the-image.iso

Supported protocols afaik are http,ftp,torrent and nfs. Thus you need
a server in your remote deployment that serves the iso on one of
these protocols.

This is imho the simplest option to remote boot a live image.
The default persistency option is into a tmpfs but you can
configure that through several rd.live.overlay options. Please
consult the dracut man page for details on the options.
e.g https://manpages.debian.org/unstable/dracut-core/dracut.cmdline.7.en.html

It's also worth to look at the source:

/usr/lib/dracut/modules.d/90livenet

because not all options are always documented.

Hope this helps

Regards,
Marcus
--
Public Key available via: https://keybase.io/marcus_schaefer/key.asc
keybase search marcus_schaefer
-------------------------------------------------------
Marcus Schäfer Brunnenweg 18
Tel: +49 7562 905437 D-88260 Argenbühl
Germany
-------------------------------------------------------
signature.asc
Reply all
Reply to author
Forward
0 new messages