In SUSE products EFI binaries are historically located in
/usr/lib*/efi. In a recent move to package grub2 as noarch
fate#326960, a collision between x86_64 and aarch64 has been
identified, as both place platform-specific files in the same
spot. To rectify this, a new location was devised:
/usr/share/efi/$(uname -m). At the same time /usr/lib/grub2 will
move to /usr/share/grub2. This Fixes#924
The upstream dracut dmsquash-live module supports network
mode with the livenet module. But that module must be
explicitly included and is not fetched automatically.
This Fixes#827
The Iso class only provides generic helper methods around the
creation of ISO filesystems. For the creation of the filesystem
itself we encapsulate the tool parameter handling into its own
class. For the option compatible mkisofs/genisoimage tools the
IsoToolsCdrTools class exists. This allows to create e.g
IsoToolsXorrIso class as a future implementation
There is the standard dracut dmsquash-live module based on
the device mapper technology and the kiwi-live module based
on the overlayfs technology. The setup of the live iso structure
in kiwi is compatible to both modules. Thus it makes sense
to allow to choose the technology via the flags attribute
<type image="iso" ... flags="overlay|dmsquash"/>
Please note both modules supports a different set of live
features. This Fixes#568
If an element like displayname or oem-boot-title contains
characters outside of the ascii table this causes trouble
when kiwi writes out the profile file and the code is called
through python2. The reason here is that the default encoding
on write() (and other methods) is set to ascii in python2
and when it receives unicode characters outside of the
ascii spec a UnicodeEncodeError is thrown. Now all of kiwi
is using Unicode which means this does not produce a problem
when calling the code through python3 because the default
encoding is utf-8 there. This patch introduces a method
which allows to change python's default encoding and calls
it at the code point where we write the profile because we
got unicode and we want to write unicode in any case.
This fixes at least one situation for python2-kiwi to
allow the use of non ascii characters in the XML setup.
If other places will be found the same approach should allow
to fix it for python2
The former detection of the grub directory name in boot was
correct whereas the new code introduced a problem.
This reverts commit b3e4b871d5.
This Fixes#371
The method get_grub_boot_directory_name was based on checking
for the name of the grub2 install tool, but this is not always
reliable because the name of the grub2 install tool has no
direct connection to the grub2 path. The method changes in a
way that it checks for the presence of the grub2 installation
directory which is /usr/lib/grub or /usr/lib/grub2. Depending
on the result the location in boot is /boot/grub or /boot/grub2
which seems to be a more reliable check
In order to put grub data to boot/grub2 or boot/grub a check for
the grub2-tool vs. grub-tool name is performed. This requires
access to the image root directory on a file basis which is not always
applicable. When setting up the grub bootloader for e.g EFI boot on
an iso image the rootfs can't be directly accessed because the iso
image contains the rootfs in a compressed format. This commit
refactors the check to be generic for all image types
The current implementation is based on the presence of the
shim-install tool. This tool does not exist on all distributions.
In case shim-install is not present a kiwi fallback solution
applies. Fixes#337
nose is no longer maintained, thus we have to move to another
testing system. This commit updates the tox setup and all tests
to use pytest instead of nose.