diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2023-04-13 18:11:39 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2023-05-05 18:42:37 +0200 |
commit | f9a6cb0e138ddeeebe767b2632a35fa933e53c5f (patch) | |
tree | 9be926186f19d49429939368d93381b10e978b1b /src/kernel-install | |
parent | ca1abaa5c4ffbd0f72f5bbbd98a70db925a82503 (diff) | |
download | systemd-f9a6cb0e138ddeeebe767b2632a35fa933e53c5f.tar.gz |
test-kernel-install: test 60-ukify.install and 90-uki-copy.install
We install a kernel with layout=uki and uki_generator=ukify, and test
that a UKI gets installed in the expected place. The two plugins cooperate,
so it's easiest to test them together.
Diffstat (limited to 'src/kernel-install')
-rw-r--r-- | src/kernel-install/meson.build | 10 | ||||
-rwxr-xr-x | src/kernel-install/test-kernel-install.sh | 30 |
2 files changed, 33 insertions, 7 deletions
diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build index 95aa0d9497..744071b9e9 100644 --- a/src/kernel-install/meson.build +++ b/src/kernel-install/meson.build @@ -20,10 +20,12 @@ loaderentry_install = custom_target( install_mode : 'rwxr-xr-x', install_dir : kernelinstalldir) -kernel_install_files = files( - '50-depmod.install', - '90-uki-copy.install', -) +uki_copy_install = files('90-uki-copy.install') + +kernel_install_files = [ + files('50-depmod.install'), + uki_copy_install, +] if want_kernel_install install_data(kernel_install_files, diff --git a/src/kernel-install/test-kernel-install.sh b/src/kernel-install/test-kernel-install.sh index 4cbf16f0df..c9d73ff8e3 100755 --- a/src/kernel-install/test-kernel-install.sh +++ b/src/kernel-install/test-kernel-install.sh @@ -7,7 +7,10 @@ set -o pipefail export SYSTEMD_LOG_LEVEL=debug kernel_install="${1:?}" -plugin="${2:?}" +loaderentry_install="${2:?}" +uki_copy_install="${3:?}" +ukify="${4:-}" +ukify_install="${5:-}" if [[ -d "${PROJECT_BUILD_ROOT:-}" ]]; then bootctl="${PROJECT_BUILD_ROOT}/bootctl" else @@ -36,11 +39,14 @@ MACHINE_ID=badbadbadbadbadbad6abadbadbadbad EOF export KERNEL_INSTALL_CONF_ROOT="$D/sources" -export KERNEL_INSTALL_PLUGINS="$plugin" +# We "install" multiple plugins, but control which ones will be active via install.conf. +export KERNEL_INSTALL_PLUGINS="${ukify_install} ${loaderentry_install} ${uki_copy_install}" export BOOT_ROOT="$D/boot" export BOOT_MNT="$D/boot" export MACHINE_ID='3e0484f3634a418b8e6a39e8828b03e3' +export KERNEL_INSTALL_UKIFY="$ukify" +# Test type#1 installation "$kernel_install" -v add 1.1.1 "$D/sources/linux" "$D/sources/initrd" entry="$BOOT_ROOT/loader/entries/the-token-1.1.1.conf" @@ -91,7 +97,25 @@ grep -qE '^initrd .*/the-token/1.1.1/initrd' "$entry" grep -qE 'image' "$BOOT_ROOT/the-token/1.1.1/linux" grep -qE 'initrd' "$BOOT_ROOT/the-token/1.1.1/initrd" -if test -x "$bootctl"; then +# Install UKI +if [ -f "$ukify" ]; then + cat >>"$D/sources/install.conf" <<EOF +layout=uki +uki_generator=ukify +EOF + "$kernel_install" -v add 1.1.3 "$D/sources/linux" "$D/sources/initrd" + uki="${BOOT_ROOT}/EFI/Linux/the-token-1.1.3+56.efi" + test -f "$uki" + + if [ -x "$bootctl" ]; then + "$bootctl" kernel-inspect "$uki" | grep -qE 'Kernel Type: +uki$' + "$bootctl" kernel-inspect "$uki" | grep -qE 'Version: +1\.1\.3$' + "$bootctl" kernel-inspect "$uki" | grep -qE 'Cmdline: +opt1 opt2$' + fi +fi + +# Test bootctl +if [ -x "$bootctl" ]; then echo "Testing bootctl" e2="${entry%+*}_2.conf" cp "$entry" "$e2" |