In preparation to support creation of native docker containers the
way docker likes it, the kiwi schema has to be adapted. So far there
was no way to specify additional metadata information for containers.
With this commit a new section called <containerconfig> is provided.
containerconfig is a subsection of the type and only allowed for
the docker image type. This constraint is checked via a schematron
rule. In addition an xslt stylesheet moves the currently existing
container attribute, which was used to set a name for the container,
into the new containerconfig section as name attribute
For the use case to add additional image description information
an extension section exists which allows to add custom section
and attributes. Custom XML information must be connected to a
namespace in order to avoid conflicts with the existing
structure. The following example shows how to place additional
XML information:
<image>
<extension xmlns:my_plugin="http://www.my_plugin.com">
<my_plugin:my_feature>
<my_plugin:title name="cool stuff"/>
</my_plugin:my_feature>
</extension>
</image>
Indicate if the target disk for oem images is deployed to a
removable device e.g a USB stick or not. This only affects
the EFI setup if requested and in the end avoids the creation
of a custom boot menu entry in the firmware of the target
machine on first boot. This is related to bnc#993130
The attribute allows to specify if the root filesystem should
be set to read-only if it is created as a btrfs snapshot.
The option only has an effect if a btrfs snapshot is used as
root filesystem. Fixes bnc#1000080
If an extra boot partition is requested it should be added
to the fstab file according to the device persistency setup
or the default uuid persistency type
The <except> section was formerly used as part of the <split>
section. kiwi no longer supports static split images in favour
of overlay systems based on e.g overlayfs. Fixes#120
Now each user item may or may not have a groups attribute. The
groups attribute is a comma separated list of group names. If
present the first group name will be the login or primary group,
if not present, the underlying toolchain will assign the default
login group for that user.
Some bootloader e.g grub supports graphics, text and also
serial consoles to hand over the output of the bootloader
menu. With this patch we allow to customize the console
used by the bootloader. So far only grub makes use of the
new attribute
<type ... bootloader_console="serial|console|gfxterm"/>
This references Trello:
https://trello.com/c/q9EhNKKV/155-support-for-grub2-serial-console
Starting to support Debian based distributions also means to support
the deb repository types. This commit adds the RepositoryApt class
to handle deb repositories for image building. Related to #37
Triggered by the firmware="vboot" setup an EFI setup plus a
raw partition without filesystem is created as first partition.
The size of the partition can be controlled by the vbootsize
attribute. The vboot feature is used by the arm architecture
to provide a space in the partition table for custom code as
required by e.g the chromebook. The final customization of the
vboot space is board specific and can't be implemented in a
generic way in kiwi. For finalizing the vboot space the script
hooks editbootconfig and editbootinstall can be used
This is related to Issue #17
Embedding an MBR into a GPT is required for a collection of
boards, e.g arm rapberry PI. The kiwi configuration provides
a new attribute called
<type ... gpt_hybrid_mbr="true|false"
which allows to control if the GPT should be hybrid or not.
On build procedures which do not create a GPT the attribute
has no effect. This references Issue #17
As of today only the kiwi initrd could be used with an image
build. This commit adds a new initrd_system attribute and
allows to select between kiwi and dracut as initrd system.
Please note the dracut initrd does not support all features
of the kiwi initrd. This fixes#25