Commit Graph

4818 Commits

Author SHA1 Message Date
Marcus Schäfer
2f1bd97dfe
Bump version: 9.24.37 → 9.24.38 2022-05-29 20:17:55 +02:00
Marcus Schäfer
a869428ffb
Fixed sphinx extlinks rendering
In Sphinx v5 warning will be treated as errors. This results in the following
warning to be an error: extlinks: Sphinx-6.0 will require a caption string to
contain exactly one '%s' and all other '%' need to be escaped as '%%'.
This commit applies the required quoting
2022-05-29 20:16:20 +02:00
Marcus Schäfer
29d1cbc976
Bump version: 9.24.36 → 9.24.37 2022-05-29 20:06:52 +02:00
Marcus Schäfer
5a46db4be2
Added example aarch64 integration test for Ubuntu
Created a RaspberryPI image description for Ubuntu(jammy)
as integration test for building aarch64 images and added
it to the integration test matrix
2022-05-29 20:00:43 +02:00
Marcus Schäfer
a9c2e26276
Merge pull request #2146 from OSInside/arm64_deb_sat_solve
Added --target-arch for image info
2022-05-27 15:35:37 +02:00
Marcus Schäfer
778dc649b1
Merge pull request #2145 from OSInside/allow_group_id_setup
Add support for group id in users setting
2022-05-27 15:35:12 +02:00
Marcus Schäfer
22647a9efb
Added --target-arch for image info
Allow cross arch dependency solving
2022-05-23 16:53:04 +02:00
Marcus Schäfer
6144ade736
update docs 2022-05-20 22:09:33 +02:00
Marcus Schäfer
04d966b920
Add support for group id in users setting
Allow to specify the group id in the groups list a user
should belong to. The group id can be placed as part of
the group name separated by a colon like in the following
example:

<users>
    <user groups="kiwi,admin:42,users" password="..." name="kiwi"/>
</users>

Please note kiwi checks if the provided group already
exists and only creates a group if it is not already present in
the system. As default groups are usually provided by the OS
itself including its preferred group id, you will intentionally
not be able to overwrite group id for existing groups.
This Fixes #2064
2022-05-20 19:23:22 +02:00
Marcus Schäfer
b43fa3fd28
Bump version: 9.24.35 → 9.24.36 2022-05-19 15:21:54 +02:00
Marcus Schäfer
328b3366f6
Merge pull request #2143 from OSInside/bootstrap_prebuilt
Add support for prebuilt bootstrap package for apt
2022-05-19 15:20:53 +02:00
Marcus Schäfer
4f47b1d94b
Add support for prebuilt bootstrap package for apt
When using the apt packagemanager kiwi required the use of
debootstrap to create the initial rootfs. This works as long
as there is always a main distribution repository available
which follows the structure of the official debian mirrors.
However if such a main distribution is not present or an
alternative layout like e.g OBS repos is used, debootstrap
will refuse to work. To allow for an alternative and without
the dependency to debootstrap kiwi supports using a prebuilt
bootstrap package providing the mini rootfs to serve as
the bootstrap result. As all other package managers properly
supports installation into an empty new root, this feature
was only added when using the apt packagemanager
2022-05-18 11:19:51 +02:00
Robert Schweikert
4427812ae2
Subformats should also not be compressed when encryption is enabled (#2138)
Subformats should also not be compressed when encryption is enabled
This is a follow on change to bdba953. When the filesystem is encrypted the
resulting image should not be compressed. Also explain why we ignore the
compression seeting in the user configuration for encrypted images.
2022-05-17 08:54:46 +02:00
Marcus Schäfer
68ffba1444
Bump version: 9.24.34 → 9.24.35 2022-05-08 20:51:36 +02:00
Marcus Schäfer
041a4cc7df
Merge pull request #2131 from OSInside/support_part_clones
Add support for partition cloning
2022-05-08 20:51:13 +02:00
Marcus Schäfer
98e66de864
Merge pull request #2136 from OSInside/support_more_repo_params_on_the_cmdline
Allow more repo params to be set on the cmdline
2022-05-08 20:50:43 +02:00
Marcus Schäfer
f02612c37c
Merge pull request #2135 from OSInside/update_ubuntu_build_tests
Update ubuntu integration tests
2022-05-08 20:46:47 +02:00
Marcus Schäfer
6c2b2916ee
Allow more repo params to be set on the cmdline
The repository parameters for signing keys, the component
list the main distribution name for debian repositories and
also the repository_gpgcheck could not be set via the
commandline options --add-repo and/or --set-repo. This
commit adds support for them and also updates the manual
page accordingly
2022-05-08 09:51:20 +02:00
Marcus Schäfer
b097fc1d9b
Update ubuntu integration tests
Build them against latest release (jammy).
This Fixes #2128
2022-05-07 09:13:52 +02:00
Marcus Schäfer
bcf2a5d77a
Bump version: 9.24.33 → 9.24.34 2022-05-07 08:58:42 +02:00
Marcus Schäfer
6726f34948
Merge pull request #2133 from OSInside/fix_runtime_check
Fixed runtime check
2022-05-07 08:58:16 +02:00
Marcus Schäfer
944115132c
Merge pull request #2134 from OSInside/fix_setup_isolinux_boot_path
Follow up fix for isolinux-config
2022-05-07 08:57:46 +02:00
Marcus Schäfer
a220c5608e
Follow up fix for isolinux-config
isolinux-config is called to update the search path inside
of the isolinux binary. isolinux/syslinux is exclusive to
the ix86 architecture and to BIOS firmware. Therefore the
condition to actually call it should reflect this.
2022-05-05 17:54:32 +02:00
Marcus Schäfer
5334fdd206
Bump version: 9.24.32 → 9.24.33 2022-05-05 17:05:56 +02:00
Marcus Schäfer
61e4f05f1b
Add support for partition cloning
Support creating block level clones of certain partitions
used in the image. Clones can be created from the root, boot
and any partition listed in the <partitions> element.
2022-05-05 17:00:36 +02:00
Marcus Schäfer
74d3705a89
Merge pull request #2132 from OSInside/support_dm_integrity_with_secret_key
Add support for dm integrity with secret key
2022-05-05 16:58:33 +02:00
Marcus Schäfer
67c7d19975
Fixed runtime check
Fixed check_dracut_module_for_disk_overlay_in_package_list. The
check complains if the dracut-kiwi-overlay module is not installed
but overlay support was requested. This is correct but should only
be done if the selected initrd system is dracut.
2022-05-05 09:37:08 +02:00
Marcus Schäfer
e7e8c3bf42
Add support for dm integrity with secret key
Allow to protect the opening of the integrity data map and
journal through a keyfile. For setting the key file two new
optional type attributes were added:

* integrity_keyfile
* integrity_metadata_key_description

The key file format must be correct according to the selected
integrity algorithm. As of now the kiwi default hmac-sha256
algorithm is used with the selected keyfile

The optional integrity_metadata_key_description attribute
allows to specify a custom description of an integrity key
as it is expected to be present in the kernel keyring. The
information is placed in the integrity metadata block. If
not specified kiwi creates a key argument string instead
which is based on the given integrity_keyfile filename.
The format of this key argument is:

:BASENAME_OF_integrity_keyfile_WITHOUT_FILE_EXTENSION
2022-05-04 16:04:37 +02:00
ozboss
18dbe55725
Add option to set LUKS type to luks1 (#2126)
Add option to set LUKS type to luks1

So far the LUKS type could be set to luks and luks2. However, what luks
version the value 'luks' evaluates to depends on how the distributor has
packaged luks. Thus it's possible that 'luks' is either luks1 or luks2. To
also have the opportunity to explicitly specify luks1 this commit adds
the opportunity in the schema.
2022-05-04 15:28:57 +02:00
Marcus Schäfer
e6dc8cb81a
Update devel packages helper
Added trang as needed when working on the schema
2022-05-04 09:29:00 +02:00
0906a06f0f
Merge pull request #2130 from OSInside/support_size_estimates_for_clone_partitions
Update get_disksize_mbytes to support clones
2022-04-28 10:08:14 -04:00
cd45ca3957
Merge pull request #2129 from OSInside/fix_uuid_setup_for_xfs
Fixed UUID setup for XFS
2022-04-28 09:48:32 -04:00
Marcus Schäfer
6b79d15f77
Update get_disksize_mbytes to support clones
When using partition clones the pre-calculation of the
disk size needs to take this into account.
2022-04-28 15:40:31 +02:00
Marcus Schäfer
90e07338c8
Fixed UUID setup for XFS
Make sure the log got replayed prior generating a new UUID
2022-04-28 15:01:58 +02:00
Marcus Schäfer
0fdcff9f97
Merge pull request #2114 from OSInside/add_clone_argument_to_disk_interface
Add support for part clones to the Disk interface
2022-04-27 18:37:52 +02:00
Marcus Schäfer
9dade86b0f
Merge pull request #2122 from OSInside/fix_scope_of_setup_isolinux_boot_path
Fixed scope of setup_isolinux_boot_path
2022-04-27 18:37:35 +02:00
Marcus Schäfer
bf7fec5f78
Fixed scope of setup_isolinux_boot_path
There is a method called setup_isolinux_boot_path which is
encoded in the Iso class. The method allows to change the
boot path in the isolinux binary and makes sense when the
bootloader is selected to be isolinux. However, the method
was called in the scope of the FileSystemIsoFs class which
responsibility is to create an ISO filesystem. The creation
of an ISO filesystem has no direct connection to a bootloader.
Thus calling this method in the scope of the FileSystemIsoFs
implementation is wrong and can lead to unexpected side
effects. This commit moves the call of the method to the
places where isolinux as a bootloader can still be used.
This Fixes #2117
2022-04-27 18:11:06 +02:00
Dan Čermák
cd2004aa1c
Merge pull request #2121 from OSInside/fix-dracut-url
Correct the URL to the dracut home page
2022-04-27 08:24:08 +02:00
Marcus Schäfer
5596865633
Merge pull request #2120 from OSInside/fix-vagrant-sshd-config-file
Fix vagrant sshd config file
2022-04-26 20:30:03 +02:00
Dan Čermák
2796582c69
Correct the URL to the dracut home page
This fixes https://github.com/OSInside/kiwi/issues/2097
2022-04-26 09:32:43 +02:00
Dan Čermák
53eb1195e5
Change the custom vagrant config file to 00-vagrant.conf
If it is called 99-vagrant.conf, then anything "before" that, like
50-redhat.conf takes precedence and overrides our custom settings.
2022-04-26 09:18:30 +02:00
Dan Čermák
1c2ad75e35
Add Leap 15.4, SLE 15 SP4 & CentOS Stream 9 to the scripts tests 2022-04-26 09:18:09 +02:00
Marcus Schäfer
655578a424
Bump version: 9.24.31 → 9.24.32 2022-04-25 17:15:06 +02:00
Marcus Schäfer
b6c13c5057
Merge pull request #2116 from OSInside/support_integrity_setup
Add support for standalone dm integrity
2022-04-25 17:14:08 +02:00
Marcus Schäfer
d5e7e546ca
Add support for standalone dm integrity
There is support in kiwi to use dm_integrity in combination
with the LUKS header and dm_crypt. However there is also the
use case to setup dm_integrity in standalone mode. This commit
allows to create the dm_integrity layer outside of LUKS using
/etc/integritytab to activate the map through a systemd
generator if systemd is used.

Regarding systemd it's required to use a version of system which
provides: system-generators/systemd-integritysetup-generator.
If this generator does not exist in the distribution it will
also be missing in the dracut generated initrd and the boot
will not be able to succeed. It's mentioned here because even
newer distributions might be missing the generator

Along with the implementation there are two new optional
attributes in the <type> section:

    standalone_integrity="true|false"
    embed_integrity_metadata="true|false"

standalone_integrity activates/deactivates the dm_integrity map
on top of the root filesystem. Similar to the veritysetup support
there is the opportunity to create an embedded magic metadata
block at the end of the device containing the root
filesystem via embed_integrity_metadata
2022-04-25 15:40:32 +02:00
Marcus Schäfer
b56aaed4da
Merge pull request #2113 from OSInside/less_strict_grub_boot_link
Be less strict in boot link to itself
2022-04-11 22:07:34 +02:00
Marcus Schäfer
42323f2cba
Update per codacy smell 2022-04-10 19:33:35 +02:00
Marcus Schäfer
69c5495b79
Add support for part clones to the Disk interface
The Disk class provides methods to create partition(s)
and map names according to its scope and independent of
the actual partition tools. For example: create_root_partition().
This commit adds an additional optional clone parameter to
all methods for which we want to allow partition clones
2022-04-10 16:52:05 +02:00
Marcus Schäfer
39898171b0
Be less strict in boot link to itself
As part of the grub setup a link named 'boot' inside of
/boot is created pointing to itself 'boot -> .'. The reason
is to allow the bootloader config to find its files referenced as
/boot/something independently if /boot is placed into an extra
partition. However if an extra boot partition is used and a
filesystem which does not support symlinks, e.g fat, that
symlink creation should not lead to an error in the image build
process as it is considered an optional safe link and not a
mandatory pre-requisite
2022-04-10 15:25:37 +02:00
Marcus Schäfer
fe5f053f9d
Fixed TW arm rpi integration test
Explicitly add ruby to the package list
2022-04-07 09:39:54 +02:00