This commit refactors BootLoaderConfig to turn it into a proper factory
class and to also include type hints to facilitate it's use from an API
POV.
Related to #1498
In preparation to allow a chroot operation into the loop
mounted disk this commit refactors the process when filesystems
gets umounted and also fixes the canonical order for calling
the destructors. Related to Issue #1464
The dracut code in 90kiwi-dump/kiwi-dump-image.sh looks for a
file matching ${image_uri}.config.bootoptions but the install
code packs a file named pxeboot.${image_uri}.config.bootoptions
into the tarball. Thus without renaming the file it won't
be found. Also the documentation mentions the file to be
named ${image_uri}.config.bootoptions. This commit fixes the
install code to match the dracut boot code and the documentation
This commit adds the `squashfscompression` attribute in type element. It
can take `gzip`, `zstd`, `xz`, `lzo`, `lz4` or `none`. The default is `xz`.
Fixes#1315
When deploying a disk image via PXE the initrd contained a config
file which connects it to a certain image. This has the disadvantage
that no other image could be deployed with it. This commit changes the
deployment code in a way that the config file is read from the
network if the disk is deployed via PXE. The tarball created by
kiwi provides the image connected config file but users now have
the opportunity to create their own boot configurations which allows
deployment of different images with the same kiwi built deployment
initrd. This Fixes#1298 and is one first step into a more generic
PXE support offered by kiwi.