From 8bef81726b50a683ce117b4a69a26879f6991a04 Mon Sep 17 00:00:00 2001 From: Alexandre CATTEAU Date: Tue, 31 Dec 2024 12:53:48 +0100 Subject: [PATCH] Fix previous commit: actually add support for Xen --- build-uki.sh | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/build-uki.sh b/build-uki.sh index 0576df0..446d624 100755 --- a/build-uki.sh +++ b/build-uki.sh @@ -15,11 +15,6 @@ if [ -x /usr/bin/ukify ]; then echo "Building UKI using systemd-ukify..." $sudo ukify build --linux $path_to_vmlinuz_link/vmlinuz --initrd $path_to_vmlinuz_link/initrd.img \ --cmdline @/etc/kernel/cmdline --output $path_to_uki - if [[ -v xen_hypervisor ]] && [[ $xen_hypervisor = "yes" ]]; then - echo "Building UKI for Xen..." - $sudo ukify build --linux $path_to_vmlinuz_link/vmlinuz --initrd $path_to_vmlinuz_link/initrd.img \ - --cmdline @/etc/kernel/cmdline_xen --output $path_to_xen_uki - fi else echo "Building UKI using objcopy..." $sudo objcopy \ @@ -28,15 +23,15 @@ else --add-section .linux="$path_to_vmlinuz_link/vmlinuz" --change-section-vma .linux=0x40000 \ --add-section .initrd="$path_to_vmlinuz_link/initrd.img" --change-section-vma .initrd=0x3000000 \ /usr/lib/systemd/boot/efi/linuxx64.efi.stub $path_to_uki - if [[ -v xen_hypervisor ]] && [[ $xen_hypervisor = "yes" ]]; then - echo "Building UKI for Xen..." - $sudo objcopy \ - --add-section .osrel=/etc/os-release --change-section-vma .osrel=0x20000 \ - --add-section .cmdline="/etc/kernel/cmdline_xen" --change-section-vma .cmdline=0x30000 \ - --add-section .linux="$path_to_vmlinuz_link/vmlinuz" --change-section-vma .linux=0x40000 \ - --add-section .initrd="$path_to_vmlinuz_link/initrd.img" --change-section-vma .initrd=0x3000000 \ - /usr/lib/systemd/boot/efi/linuxx64.efi.stub $path_to_xen_uki - fi +fi + +if [[ -v xen_hypervisor ]] && [[ $xen_hypervisor = "yes" ]]; then + echo "Building UKI for Xen..." + $sudo objcopy \ + --add-section .config=/boot/xen.cfg --change-section-vma .config=0xffff82d041000000 \ + --add-section .kernel="$path_to_vmlinuz_link/vmlinuz" --change-section-vma .kernel=0xffff82d041100000 \ + --add-section .ramdisk="$path_to_vmlinuz_link/initrd.img" --change-section-vma .ramdisk=0xffff82d042000000 \ + /boot/xen.efi $path_to_xen_uki fi # Sign UKI