OSInside / kiwi

KIWI - Appliance Builder Next Generation
https://osinside.github.io/kiwi
GNU General Public License v3.0
288 stars 145 forks source link

Add loop-less disk builder (systemd-repart) #2445

Open schaefi opened 6 months ago

schaefi commented 6 months ago

Description

The current implementation for the disk builder makes use kernel interfaces, meaning the produced devices are created through loop devices as well as the produced file-systems gets mounted and more. Under certain conditions the dependency into the kernel could cause a problem e.g if the calling user has not enough permissions or the environment does not expose access to these interfaces. In this case it would be handy if kiwi could offer a disk builder which does not require kernel interfaces.

The systemd project offers a tool called systemd-repart which implements many parts of the build process without the need for the kernel interfaces. This leads to the idea to write a new builder class that utilizes systemd-repart to build the disk image. systemd-repart is also used in the mkosi image builder from which the idea originates. For reference see make_image():

kiwi needs to implement an interface to systemd-repart and its required input files

schaefi commented 6 months ago

on suse systemd-repart is provided with the systemd-experimental package

Conan-Kudo commented 5 months ago

On RH/Fedora, it's part of the systemd-udev package (yeah, I dunno why, but oh well?).