Commit Graph

24 Commits

Author SHA1 Message Date
David Cassany
0cfcf2fb9a LVM volumes management during grub2 install
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.
2016-11-30 15:54:34 +01:00
Marcus Schäfer
1f85063007 Handle target_removable in kiwi disk builder 2016-10-14 08:31:41 +02:00
Marcus Schäfer
bb26fc71b7 Call grub2-install as chroot operation
In addition to the chrooted call make sure all volumes from
the volume manager (if used) are mounted at call time
2016-09-27 15:40:43 +02:00
Marcus Schäfer
72341dbfb0
Mount boot volumes on grub install
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
2016-09-26 16:53:11 +02:00
Marcus Schäfer
630f26e350 Preserve timestamp on grub2-install copy
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)
2016-08-16 10:58:43 +02:00
Marcus Schäfer
400468a455 Cleanup use of temporary directories
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
2016-05-04 11:05:03 +02:00
Marcus Schäfer
2f1e892fb6 Make grub2 installation path lookup dynamic
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
2016-04-25 12:50:10 +02:00
Marcus Schäfer
f1c5531e24
Refactor InstallBootLoaderGrub2 constructor
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
2016-03-24 11:14:14 +01:00
Marcus Schäfer
7ce8a3d8f5
add multiboot grub module only on demand
multiboot is only needed for self build grub images in Xen
guest mode
2016-03-23 16:52:34 +01:00
Marcus Schäfer
3b5c937cd3 Fixed architecture dependant tests 2016-03-23 09:23:56 +01:00
Marcus Schäfer
f97dbf6fda
Refactor grub2 EFI support
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
2016-03-16 12:57:25 +01:00
Marcus Schäfer
e6cc5bfa09 Move from nose to pytest
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.
2016-03-14 12:23:14 +01:00
Marcus Schäfer
abfd0bf57e Revert "Revert "Call shim-install with --removable""
Try again using --removable for shim-install
This reverts commit e3d7d0239d.
2016-03-11 16:11:57 +01:00
Marcus Schäfer
e3d7d0239d Revert "Call shim-install with --removable"
With --removable shim-install does not work for image building
This reverts commit d03baa9ee1.
2016-03-11 15:30:00 +01:00
Marcus Schäfer
d03baa9ee1
Call shim-install with --removable
The --removable is to prevent shim-install from writing host's
uefi boot entry by pretending itself as removable disk
2016-03-10 11:29:28 +01:00
Marcus Schäfer
1e9b6dd9d6 Use shim-install to setup EFI secure boot 2016-03-09 18:12:38 +01:00
Dinar Valeev
24c27b8a97 Add support for POWER architecture
Implements requirements for the partition and bootloader setup
in order to build images for ppc64 architectures. Fixes #18
2016-03-08 11:54:09 +01:00
Thomas Schraitle
45bc5a03a7 Refactor into subpackage to fix #23
Codecoverage are 100% and tests are green

Changes:
* Refactor archive_*.py -> archive subpackage
* Refactor partitioner_*.py -> partitioner subpackage
* Refactor package_manager_*.py -> package_manager/ subpackage
* Refactor bootloader_config*.py -> bootloader/config/ subpackage
* Refactor bootloader_template*.py -> bootloader/template/ subpackage
* Refactor bootloader_install*.py -> bootloader/install/ subpackage
* Refactor repository*.py -> repository/ subpackage
* Refactor filesystem*.py -> filesystem/ subpackage
* Refactor dist_*.py -> dist/dformat subpackage
  The name `dformat` as package name is needed to avoid any name
  conflicts with the built-in function `format`.
* Refactor volume_manager*.py -> volume_manager/ subpackage
* Refactor boot_image*.py -> boot/image/ subpackage
2016-02-27 10:31:31 +01:00
Marcus Schäfer
04764a42df Refactor use of mount/umount calls
Provide a MountManager class and handle all mount/umount
calls in instances of MountManager
2016-02-26 16:50:31 +01:00
Marcus Schäfer
147c0706eb
Refactor grub2 bootloader installation
Make use of grub2-install to install the bootloader
2016-02-25 17:18:31 +01:00
Marcus Schäfer
40e6308aa9 Port application from python 2.7 to 3.4
For new applications like this kiwi version and its use cases
it is better to base it on a more recent python version
2016-02-17 22:38:38 +01:00
Marcus Schäfer
9fc642b1f8
Added BootLoaderInstallZipl class 2016-01-24 21:29:06 +01:00
Marcus Schäfer
febd69ec0f Refactor variable name for root directory
If it is clear the source directory is the root directory of
the image the variable should be named root_dir not source_dir
2016-01-19 11:15:18 +01:00
Marcus Schäfer
09daca60c0
KIWI - appliance builder next generation
a rewrite of the current kiwi from https://github.com/openSUSE/kiwi
2015-12-05 16:17:10 +01:00