diskimage-builder/diskimage_builder/elements
Steve Baker 0630b3cb69 Detect boot and EFI partitions in extract-image
RHEL-9 base images are whole-disk images with the /boot/efi partition
correctly set up for EFI Secure Boot. This doesn't work with
extract-image because it only mounts the root partition, leaving
/boot/efi empty even though grub2-efi & shim packages are "installed".

This change mounts discovered partitions to mnt/boot, mnt/boot/efi so
all content can be extracted from the image.

Partition detection is done by reading block device attributes and
matching on Boot Loader Specification[1] UIDs or labels as observed in
supported base images.

[1] https://systemd.io/BOOT_LOADER_SPECIFICATION/
Change-Id: I8487002a18ae6ca98609ab68d92ae9173a2b864f
2022-02-23 15:28:32 +13:00
..
apt-conf
apt-preferences
apt-sources
baremetal
base Debuntu: add apt-transport-https 2020-04-02 10:11:35 +11:00
block-device-efi Document EFI elements requirements 2021-11-26 08:46:42 +01:00
block-device-efi-lvm Document EFI elements requirements 2021-11-26 08:46:42 +01:00
block-device-gpt
block-device-mbr
bootloader Futher bootloader cleanups 2022-02-10 15:08:56 +11:00
cache-url cache-url : turn down verbose curl 2021-06-24 10:09:00 +10:00
centos Cleanup more CentOS 8 bits 2022-02-01 15:39:24 +11:00
centos7 Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
centos-minimal Merge "Cleanup more CentOS 8 bits" 2022-02-09 04:39:00 +00:00
cleanup-kernel-initrd
cloud-init enable cloud-init by default on systemd 2021-12-18 17:51:18 -06:00
cloud-init-datasources
cloud-init-disable-resizefs Disable growpart in cloud-init-disable-resizefs 2020-10-06 14:03:57 +02:00
cloud-init-nocloud
containerfile containerfile: handle errors better 2021-11-10 11:42:49 +11:00
debian Fix cron not installed in debian 2021-09-01 23:49:27 +02:00
debian-minimal Futher bootloader cleanups 2022-02-10 15:08:56 +11:00
debian-systemd
debian-upstart
debootstrap debian-minimal: Set bullseye version 2021-04-28 09:48:22 -07:00
deploy-baremetal
deploy-kexec
deploy-targetcli
deploy-tgtadm
devuser
dhcp-all-interfaces Fallback to persistent netifs names with systemd 2022-02-09 10:17:49 +01:00
dib-init-system Introduce manual setting of DIB_INIT_SYSTEM 2019-11-21 12:38:15 +11:00
dib-python Convert multi line if statement to case 2021-04-07 07:17:19 +00:00
dib-run-parts Revert "dib-lint: use yamllint to parse YAML files" 2020-05-28 16:44:49 +10:00
disable-nouveau Ensure nouveau is blacklisted in initramfs too 2019-10-23 10:16:00 +11:00
disable-selinux dib-lint: test elements have README.rst file 2020-01-20 11:43:43 +01:00
dkms
docker Run dib-run-parts out of /tmp 2017-04-05 13:11:22 +10:00
dpkg Rename duplicating 10-debian-minimal.bash 2020-09-18 14:52:56 +10:00
dracut-network
dracut-ramdisk
dracut-regenerate dracut-regenerate: drop Python 2 packages 2021-10-27 11:11:50 +11:00
dynamic-login Fix dynamic-login with grub2 2020-11-20 15:00:54 +01:00
element-manifest Release 1.24.0 2017-01-31 14:14:19 +11:00
enable-serial-console update various gentoo bits 2020-08-24 10:21:35 -05:00
ensure-venv Add ensure-venv element, install glean with it 2020-03-10 11:57:43 +11:00
epel Update centos element for 9-stream 2021-10-20 09:39:27 +11:00
fedora Update platform support to describe stable testing 2022-02-16 10:40:09 +11:00
fedora-container fedora-container: pull in glibc-langpack-en 2022-02-04 09:15:17 +11:00
fedora-minimal Update platform support to describe stable testing 2022-02-16 10:40:09 +11:00
gentoo update gentoo source suffix (where it finds the file to download) 2021-11-20 20:18:55 -06:00
growroot Revert "dib-lint: use yamllint to parse YAML files" 2020-05-28 16:44:49 +10:00
growvols Replace deprecated assertEquals 2021-11-12 09:46:14 +08:00
grub2 Remove centos 9 and rhel 8 block in grub2 pkg-map 2022-01-17 23:40:24 +01:00
hpdsa replace the link which is in the 06-hpdsa file 2021-03-12 19:16:50 +08:00
hwburnin
hwdiscovery Remove use of 'which'. 2017-05-19 12:43:36 -07:00
ibft-interfaces Add an element to configure iBFT network interfaces 2018-11-20 14:11:11 +01:00
ilo
install-bin pip-and-virtualenv: drop f31 & tumbleweed, rework suse 15 install 2020-04-23 08:10:26 +10:00
install-static
install-types
iscsi-boot Fix centos 8.3 partition image building error with element iscsi-boot 2021-01-14 02:05:20 +00:00
iso Merge "Change paths for bootloader files in iso element" 2021-03-16 09:56:07 +00:00
journal-to-console journal-to-console: element to send systemd journal to console 2019-07-25 11:24:49 +10:00
keylime-agent Update keylime-agent and tpm-emulator elements 2021-10-06 15:05:28 -04:00
local-config
lvm Allow processing 'focal' ubuntu release in lvm 2020-10-28 16:55:49 +02:00
manifests
mellanox Mellanox element: removed ibutils,libibcm,libmlx4-dev 2020-03-23 00:06:53 +02:00
modprobe modprobe.d: use $TMP_MOUNT_PATH 2019-12-18 11:42:02 -05:00
modprobe-blacklist
no-final-image Remove the deprecated ironic-agent element 2021-01-21 14:06:08 +01:00
oat-client
openeuler-minimal Introduce openEuler distro 2021-08-04 03:06:55 +00:00
openssh-server openssh-server: harden sshd config 2019-05-01 11:42:21 -04:00
openstack-ci-mirrors Update centos element for 9-stream 2021-10-20 09:39:27 +11:00
opensuse Fix openSUSE images and bump them to 15.3 2022-01-28 02:18:47 -03:00
opensuse-minimal Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
package-installs Deprecate dib-python; remove from in-tree elements 2020-08-07 10:38:16 +10:00
pip-and-virtualenv Remove extra if/then/else construct in pip element 2021-12-29 16:43:00 +01:00
pip-cache
pkg-map Add new container element - Rocky Linux 2022-01-31 17:26:16 +00:00
posix
proliant-tools Fix installation of proliant tools 2021-03-03 19:04:50 +01:00
pypi Deprecate dib-python; remove from in-tree elements 2020-08-07 10:38:16 +10:00
python-brickclient
python-stow-versions Fix python-stow-versions 2020-11-17 09:23:32 +00:00
ramdisk Mount /sys RO 2021-07-05 11:45:02 +10:00
ramdisk-base
rax-nova-agent
redhat-common Revert "Use rpm -e instead of dnf for cleaning old kernels" 2022-02-09 03:33:34 +00:00
rhel rhel: work around RHEL-9 BLS issues 2022-02-22 13:43:18 +13:00
rhel7 Deprecate rhel7 in favor of rhel 2019-05-29 12:07:44 +00:00
rhel-common Merge "Disable all repositories after attaching a pool" 2021-12-06 20:19:59 +00:00
rocky-container Add new container element - Rocky Linux 2022-01-31 17:26:16 +00:00
rpm-distro Futher bootloader cleanups 2022-02-10 15:08:56 +11:00
runtime-ssh-host-keys
select-boot-kernel-initrd
selinux-permissive move selinux-permissive configure to pre-install phase 2018-11-19 13:13:57 +11:00
simple-init Merge "simple-init: allow disabling DHCP fallback" 2021-09-10 14:54:03 +00:00
source-repositories source-repositories: don't use --git-dir 2021-11-16 19:16:03 +11:00
stable-interface-names
svc-map update various gentoo bits 2020-08-24 10:21:35 -05:00
sysctl
sysprep Detect boot and EFI partitions in extract-image 2022-02-23 15:28:32 +13:00
tpm-emulator Update keylime-agent and tpm-emulator elements 2021-10-06 15:05:28 -04:00
uboot
ubuntu Trivial: fix whitespace in ubuntu element rst 2021-11-23 07:01:36 -08:00
ubuntu-common Bump Ubuntu release to focal 2021-08-26 23:28:33 -03:00
ubuntu-minimal General improvements to the ubuntu-minimal docs 2022-01-21 19:21:00 -03:00
ubuntu-signed
ubuntu-systemd-container ubuntu-systemd-container: deprecate and remove jobs 2021-10-20 09:39:27 +11:00
vm
yum Add DIB_YUM_REPO_PACKAGE as an alternative to DIB_YUM_REPO_CONF 2021-09-13 09:32:53 +12:00
yum-minimal Merge "Remove contrib/setup-gate-mirrors.sh" 2022-02-09 05:02:40 +00:00
zipl Delete the duplicate words in 50-zipl 2019-01-07 10:02:35 +08:00
zypper Fix login.defs config for tumbleweed 2019-12-02 16:21:45 -08:00
zypper-minimal Mount /sys RO 2021-07-05 11:45:02 +10:00
__init__.py Fix unit tests for elements 2018-11-28 11:04:50 +11:00