The configuration files /etc/sysconfig/bootloader and
/etc/default/grub needs to be created/updated with the
relevant values regarding the bootloader setup done by
kiwi. This Fixes#226
The chattr utility is used to apply file attributes
So far only the no-copy-on-write attribute can be
specified in a volume setup. If further attributes
are needed they will be added on demand
Storage disks on s390 requires an information about the
type and the blocksize. In case these information is not
provided in the kiwi XML configuration, None was set as
value in the zipl configuration which lead to an error.
This commit provides default values for those parameters
If using root btrfs snapshot, the default toplevel subvolume is set to
/@/.snapshots/1/snapshot, thus all defined subvolumes are mounted
under that cusomized default subvolume. For the first time
subvolumes are mounted it is fine to include /@/.snapshots/1/snapshot
prefix as root is not yet set to that specific path, however in any
future mount this path prefix is not needed any more, as the root
get mounted in /@/.snapshots/1/snapshot by default. Fixes (bsc#1015549)
The root volume in a systemdisk setup is handled in a special
way. It is not allowed to setup a custom name or mountpoint for
the root volume. Therefore the size of the root volume can be
setup via the @root volume name. This check looks up the volume
setup and searches if there is a configuration for the '/'
mountpoint which would cause the image build to fail
This commit adds Defaults:get_min_volume_mbytes() to the disk size
calculation algorithm. This should be sufficient to hold fdisk
default offset when creating the first partition and also to hold
the LVM metadata.
If an extension section exists the xml data in this section
is validated against the RelaxNG schema which must be part
of the xmlcatalog for the used extension namespace. If the
data validates the method get_extension_xml_data can be used
to access the etree parse result for each of the extension
configurations
During the grub2 install process volumes were not mounted properly,
a proper mount order was not taken into consideration and LV device
information was not given by the method get_volumes in VolumeManger.
This commit forces the mount (and umount) operations to be done in
coherent order and also modifies the get_volumes method in order
to return the device associated to each volume.
The parameter for the uuid is not enough to handle all
supported disk geometries. If the disk has an extra boot
partition the bootloader setup must read the boot data
from the boot partition but must set the root for the
kernel cmdline to the root partition. Therefore the
interface needs to change and must provide both the
boot_uuid and the root_uuid in oder to allow the method
to setup the correct values
This commit ensure that the arch attribute of each package section
is parsed as a comma separated list. This way, as in previous kiwi
versions, each package might be suitable for one or more specified
architectures.
The Kernel instance is the only correct place to ask
for the kernel name. This class has the responsibility
to know information about the selected kernel. The
additional arch based assumption on the kernel name
in the disk builder were wrong. This fixes bnc#1011936
This commit changes the copy command of the result bundle task. Now
instead of creating hardlinks a relugar copy is performed. This way
we ensure that the bundled files will not be modified by
overwritting a linked file.
Complete the list of kernel names for the lookup. Normally
the kernel package provides a symlink to the actual kernel
image file. However if the link does not exist we extend the
search to a collection of names for possible kernel images.
The new list now also covers kernel names as used for arm
Along with the change this patch also provides an option to
raise an exception if the kernel lookup did not find any
kernel, which is used for the get_kernel() request in the
dracut initrd system setup where it is mandatory to find
a kernel image.
This fixes bnc#1010874
This commit adds compression to the Result instance of the vhdfixed
disk. This concrete format is not compressed or dynamic, so that,
it makes sense compress them. Also this was the behavior in previous
kiwi versions.
This commit adds a tester method to check if there is any
repository marked as imageinclude. The method is used to
execute import_repositories_marked_as_imageinclude
method only when it is actually needed.
This addresses the following issues
* An image based on btrfs using the entire boot as a subvolume
causes grub to be unable to find its config file. Thus kiwi
now raises an exception in this situation
* Don't prefix the bootpath with the snapshot path if the
btrfs root is placed in a snapshot. Instead the file
etc/default/grub must be written/updated with the
SUSE_BTRFS_SNAPSHOT_BOOTING variable set to true. Once
this is done the bootpath is consistently set to /boot
no matter which snapshot is active
There is no need to mock Path.which as isoinfo binary from the
platform is needed to run the test, so better let the system look
for it, note that the binray can be located in the alternate
location (/usr/lib/genisoimage/) which is not part of the PATH.
In that particular case the iso_test would fail if we mock
Path.which.
A SAT solvable can be used together with python-solv to implement
performant package solving tasks. This is the initial structure
to allow the creation of such solvable files from specified
repositories. We will support the repo types yast2, rpm-md and
rpm-dir in the first place.
Creating a new root init with a shared location which already
provides directories of the system failed on init of those
directories. Only create the not yet existing directories