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.
If there are volumes below /boot they need to be mounted before
grub2-install / shim-install is called in order to make sure all
data is available in the volume
In order to workaround the bug in shim-install which
unnecessarily calls grub2-install we replace the binary
by a noop before calling shim-install. However all file
attributes of the grub2-install binary, timestamp, modes,
etc should stay untouched (bnc#993825)
All mkdtemp created directories are created with the 'kiwi_'
prefix. In addition all code parts which leaves tmpdirs in
the system after kiwi is done were fixed
Not all linux systems installs grub2 below /usr/lib/grub2
For example RHEL7 packages it below /usr/lib/grub. Therefore
kiwi needs to be flexible with this path
architecture dependant device setup belongs to the install
method where it is actually needed. That prevents the
construction of the instance to be architecture specific
EFI support was target specific to the x86_64 architecture
This commit changes the structure to allow more architectures
supporting EFI. Thus the arm64 EFI support has been added
as a plus
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.