diskimage-builder/diskimage_builder/elements
Clark Boylan 3294aecca2 Properly set grub2 root device when using efi
We've noticed that centos8 arm64 images have a root devices of
/dev/mapper/loop7p3 which make sense within a dib image build context
but not at boot time. Dib intends to use labels to set the root device
but when efi is used we end up running grub2-mkconfig against the efi
grub config path before we configure grub to use labels.

Fix this by running grub2-mkconfig after its configuration is set.
This should avoid confusion and complicated paths through the scripts
that configure this for us. We then copy the resulting config to the efi
specific grub.cfg location for platforms that have it.

There is also a small refactoring that is done to try and make the ~3
boot variants more clear:

 1) Booting with legacy bios
 2) Booting with uefi without a signed shim that directly calls grub
 3) Booting with uefi and a signed shim that calls grub

Options 1 and 2 share the /boot/grub*/grub.cfg file. Option 3 needs its
grub.cfg to live alongside distro specific efi target.

Change-Id: Ie9790da9d1bbea58197b37b15a48e77f8a93c1ac
2021-04-07 15:46:10 -07:00
..
apt-conf
apt-preferences
apt-sources Use local mirror for ubuntu-minimal jobs 2017-06-21 12:01:31 +10:00
baremetal Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
base Debuntu: add apt-transport-https 2020-04-02 10:11:35 +11:00
block-device-efi Increase size of EFI system partition (again) 2019-05-31 17:10:08 +10:00
block-device-gpt Choose appropriate bootloader for block-device 2018-02-23 10:04:44 +11:00
block-device-mbr Choose appropriate bootloader for block-device 2018-02-23 10:04:44 +11:00
bootloader Properly set grub2 root device when using efi 2021-04-07 15:46:10 -07:00
cache-url Fix cache-url -f 2020-02-05 10:19:12 +01:00
centos Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
centos7 Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
centos-minimal Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
cleanup-kernel-initrd
cloud-init update various gentoo bits 2020-08-24 10:21:35 -05:00
cloud-init-datasources Drop support for Ubuntu precise 2017-05-31 14:36:30 +02:00
cloud-init-disable-resizefs Disable growpart in cloud-init-disable-resizefs 2020-10-06 14:03:57 +02:00
cloud-init-nocloud Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
debian Fix element-provides in debian element 2018-03-26 10:58:04 -07:00
debian-minimal Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
debian-systemd Install systemd earlier for Stretch 2017-06-19 13:27:33 +10:00
debian-upstart Install systemd earlier for Stretch 2017-06-19 13:27:33 +10:00
debootstrap Ensure machine-id is not included in images 2019-09-20 03:17:50 +00:00
deploy-baremetal
deploy-kexec
deploy-targetcli
deploy-tgtadm
devuser install sudo in the devuser element 2018-03-22 00:16:09 -05:00
dhcp-all-interfaces Add support for vlan interfaces in dhcp-all-interfaces.sh 2020-11-03 10:04:17 -05:00
dib-init-system Introduce manual setting of DIB_INIT_SYSTEM 2019-11-21 12:38:15 +11:00
dib-python Deprecate dib-python; remove from in-tree elements 2020-08-07 10:38:16 +10: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 Remove dracut-network element 2017-05-31 08:36:56 +10:00
dracut-ramdisk Merge "Remove use of 'which'." 2017-06-11 09:30:34 +00:00
dracut-regenerate Fix building error with element dracut-regenerate 2021-01-14 01:30:52 +00:00
dynamic-login Fix dynamic-login with grub2 2020-11-20 15:00:54 +01:00
element-manifest
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 Ensure yum-utils is installed in epel element 2020-10-08 09:49:57 +02:00
fedora Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
fedora-minimal Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
gentoo update gentoo keywords to support gcc-10 2021-03-18 23:24:31 -05:00
growroot Revert "dib-lint: use yamllint to parse YAML files" 2020-05-28 16:44:49 +10:00
grub2 Use x86 architeture specific grub2 packages for RHEL 2019-09-12 15:06:17 -04: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 Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
install-bin pip-and-virtualenv: drop f31 & tumbleweed, rework suse 15 install 2020-04-23 08:10:26 +10:00
install-static Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
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
local-config Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-29 07:43:46 +11:00
lvm Allow processing 'focal' ubuntu release in lvm 2020-10-28 16:55:49 +02:00
manifests Set manifest permissions in the image 2017-05-24 15:20:55 +10:00
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 Add new modprobe element 2018-06-28 13:55:53 +02:00
no-final-image Remove the deprecated ironic-agent element 2021-01-21 14:06:08 +01:00
oat-client
openssh-server openssh-server: harden sshd config 2019-05-01 11:42:21 -04:00
openstack-ci-mirrors Merge "Add arm64 based functional test" 2019-12-16 21:31:51 +00:00
opensuse Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13: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 Change get-pip url 2021-03-08 09:19:28 +01:00
pip-cache Fix DIB ubuntu-minimal running on bionic (18.04) 2018-10-01 19:59:30 -07:00
pkg-map Deprecate dib-python; remove from in-tree elements 2020-08-07 10:38:16 +10: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 Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00
python-stow-versions Fix python-stow-versions 2020-11-17 09:23:32 +00:00
ramdisk Remove use of 'which'. 2017-05-19 12:43:36 -07:00
ramdisk-base Remove use of 'which'. 2017-05-19 12:43:36 -07:00
rax-nova-agent Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
redhat-common Deprecate dib-python; remove from in-tree elements 2020-08-07 10:38:16 +10:00
rhel Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
rhel7 Deprecate rhel7 in favor of rhel 2019-05-29 12:07:44 +00:00
rhel-common Only add rhel base repos when REG_REPOS is not set 2021-03-11 11:01:29 +13:00
rpm-distro dib-lint: test elements have README.rst file 2020-01-20 11:43:43 +01:00
runtime-ssh-host-keys Release 1.21.1 2017-02-02 20:36:23 +11:00
select-boot-kernel-initrd
selinux-permissive move selinux-permissive configure to pre-install phase 2018-11-19 13:13:57 +11:00
simple-init simple-init: also remove en* interfaces from the images 2020-11-22 20:17:42 +01:00
source-repositories Install git-core instead of git on RH systems 2020-11-26 17:16:31 +01:00
stable-interface-names
svc-map update various gentoo bits 2020-08-24 10:21:35 -05:00
sysctl Release 1.25.2 2017-02-02 11:20:00 +11:00
sysprep Ensure machine-id is not included in images 2019-09-20 03:17:50 +00:00
uboot
ubuntu Run autoremove on post-install step 2020-11-17 09:23:35 +00:00
ubuntu-common Support secure-boot bootloader where possible 2021-03-11 10:27:59 +13:00
ubuntu-minimal Add 'DIB_UBUNTU_MIRROR_DISTS' to ubuntu-minimal 2021-01-27 10:32:49 +02:00
ubuntu-signed Use sphinx warning-is-error 2017-03-14 14:49:49 +11:00
ubuntu-systemd-container Deprecate dib-python; remove from in-tree elements 2020-08-07 10:38:16 +10:00
vm Add block-device defaults 2018-02-23 10:04:40 +11:00
yum Fix hooks order for CentOS/Fedora when mirror used 2021-03-04 10:54:52 +00:00
yum-minimal Don't install centos-linux-release on 8-stream 2021-02-23 12:57:05 +13: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 Install gzip instead of busybox-gzip on suse 2020-09-14 16:00:47 -07:00
__init__.py Fix unit tests for elements 2018-11-28 11:04:50 +11:00