multiple type sections within one preferences section is allowed
in a kiwi image description. However, if multiple type sections
for the same image attribute are configured only the last type
configuration will be ever reachable. The proposed runtime check
in this commit detects this situation and raises an exception
showing the conflicting types including a solution suggestion
which needs to be based on profiles to distinguish between
types of the same image type name.
This commit sets the maintainer and author metadata from the description
section of the image in they are not explicitly specified in
container-config section.
In addition it sets the default container name to `system-container`
instead of `systemContainer` as uppercase letters are not valid for
docker container references.
Fixes#1419
Name the build test directory to follow the changes done
in Issue #1425. There is only one disk image type now, thus
the tests for testing disk images should indicate that
better. Also the tests that build live iso images should
indicate a live iso not only an iso as it could be mixed
up with an install iso
Update build test image names to be more generic and not
bound to a specific version of a distribution. As the tests
are usually based on rolling releases of distros the name
of the test image should be generic. Also adapted the
specification of the test images to describe the focus
of the test if not generic.
The name LimeJeOS was an invention of the SUSE Studio project.
Since the project does no longer exist, users have no idea
what the name means. Therefore the integration tests as well
as the documentation now changes the image names to provide
more clarity. This Fixes#1544
A vmx image is the same disk as an oem just without the dracut
repart/resize feature. This difference is better handled with
an oemconfig parameter <oem-resize> which allows to switch resize
on or off. The extra image type vmx will be dropped and an XSLT
stylesheet automatically transforms a vmx description to be a
oem image with the resize feature switched off.
This Fixes#1425
This commit makes sure that the early boot configuration files
for grub make use of the proper boot path and omiting the `/boot`
prefix if there is a dedicated boot partition.
Fixes#1553
This commit includes the 'loadenv' module to the list of basic grub
modules. This makes sure the module is included in any grub-mkimage
that KIWI does.
Fixes#1547
Before this commit an oem image still had the kiwi initrd_system
set as default. As we are decommission the custom kiwi initrd
concept the default should be changed. It is still possible to
use a custom kiwi initrd but it needs to be explicitly requested
via the initrd_system="kiwi" attribute. In addition to the
changed default a runtime check was introduced that checks
the presence of the boot= attribute which only makes sense
in combination with the kiwi initrd_system. If boot= is
set but initrd_system="kiwi" is not, a message is raised that
explains the situation and either requests setting initrd_system
properly or deleting the boot attribute. The change only
affects people who still use oem with a boot="oemboot/..."
setting and no explicit selection of kiwi as the initrd_system.
As these image type configurations should not be in use anyway
because this is all legacy and announced to go away, we
need to make the next step and enforce a new default in
code. This is related to Issue #1299
Instead of restricting the dynamic linux vs. linuxefi setup
to a specific grub version, support this setup for any version
of grub. This Fixes bsc#1175729 and bsc#1176134
When using the sfdisk(>=2.26) tool the start and end of partitions
aligns to block-device I/O limits. This means it's hardware specific
what values sfdisk picks. In a repart operation this is however
dangerous for the start sector which must be the same to prevent
corruption of the data in the partition when kiwi resizes it.
Therefore this commit uses the sfdisk dump command to read the
start sector for deleted partitions and uses that start sector
if the same partition gets recreated such that only the end of
the partition changes and gets aligned properly.
This Fixes#1543
Current Arch Linux (August 2020) has no other locale than POSIX or
C enabled on the system by default. In fact, to enable further locales
in Arch it is required to uncomment the desired ones in `/etc/locale.gen`
and then execute the tool `locale-gen`, after that the selected locales
are eligible for the common system adminstration tools such as
`localectl`.
In KIWI the locale setting happens before running `config.sh` so there
aren't changes to generate any custom locale before applying the value
configured in the description XML file.
This patch is two fold:
* Image builds that uses the kiwi initrd system did not apply
the grub config file fixes because the root= parameter is
an optional information when using a kiwi initrd. However
this information is required to apply the grub config file
fixes. Therefore this patch simplifies the kernel commandline
processing such that it is the same for dracut and custom
kiwi initrd based systems. This means root= is passed in
any case.
* The other part of the patch disables the method that strips
unused libraries from the custom kiwi initrd. It has turned
out that is safes us almost nothing but could causes corrupted
initrds missing important libraries e.g libpam which is linked
against udev and other tools. Therefore libpam is also added
to the protected strip list
tuned daemon causes issues at install time with grub configuration.
The build host configuration affects BLS entries generation if tuned
deamon is around. This is likely to cause issues in general and it
actually cause issues in OBS builds (because of a non standard highly
customized build environment).
The setup of the locale via systemd-firstboot --locale=en_US.UTF-8
failed on archlinux with the error message Locale en_US.UTF-8 is not
installed. This commit sets the locale explicitly
The documentation did not differentiate correctly between
the explanation of the image types, their results and the
build host constraints compared to the documentation that
actually describes how to build an image for those types.
This Fixes#1520