diff --git a/0027-upgrade-write-efi-vars-for-ecs-firmware.patch b/0027-upgrade-write-efi-vars-for-ecs-firmware.patch new file mode 100644 index 0000000000000000000000000000000000000000..1e27eb6bf6730f50493709fda87f8ba16951777a --- /dev/null +++ b/0027-upgrade-write-efi-vars-for-ecs-firmware.patch @@ -0,0 +1,70 @@ +From ce93e314a66020399c22d6aa574be2b92281b9f3 Mon Sep 17 00:00:00 2001 +From: Liwei Ge +Date: Thu, 1 Sep 2022 15:28:14 +0800 +Subject: [PATCH] upgrade: write efi vars for ecs firmware + +also rebrand grub title for upgrade boot +--- + .../libraries/addupgradebootentry.py | 2 +- + .../tests/unit_test_addupgradebootentry.py | 2 +- + .../dracut/85sys-upgrade-redhat/do-upgrade.sh | 18 ++++++++++++++++++ + 3 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/repos/system_upgrade/el7toel8/actors/addupgradebootentry/libraries/addupgradebootentry.py b/repos/system_upgrade/el7toel8/actors/addupgradebootentry/libraries/addupgradebootentry.py +index c15dd52..4270bd8 100644 +--- a/repos/system_upgrade/el7toel8/actors/addupgradebootentry/libraries/addupgradebootentry.py ++++ b/repos/system_upgrade/el7toel8/actors/addupgradebootentry/libraries/addupgradebootentry.py +@@ -17,7 +17,7 @@ def add_boot_entry(configs=None): + '/usr/sbin/grubby', + '--add-kernel', '{0}'.format(kernel_dst_path), + '--initrd', '{0}'.format(initram_dst_path), +- '--title', 'RHEL-Upgrade-Initramfs', ++ '--title', 'Anolis-Upgrade-Initramfs', + '--copy-default', + '--make-default', + '--args', '{DEBUG} enforcing=0 rd.plymouth=0 plymouth.enable=0'.format(DEBUG=debug) +diff --git a/repos/system_upgrade/el7toel8/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py b/repos/system_upgrade/el7toel8/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py +index bb89c9f..ccc53ae 100644 +--- a/repos/system_upgrade/el7toel8/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py ++++ b/repos/system_upgrade/el7toel8/actors/addupgradebootentry/tests/unit_test_addupgradebootentry.py +@@ -42,7 +42,7 @@ run_args_add = [ + '/usr/sbin/grubby', + '--add-kernel', '/abc', + '--initrd', '/def', +- '--title', 'RHEL-Upgrade-Initramfs', ++ '--title', 'Anolis-Upgrade-Initramfs', + '--copy-default', + '--make-default', + '--args', +diff --git a/repos/system_upgrade/el7toel8/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh b/repos/system_upgrade/el7toel8/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh +index 8729a5d..0b87498 100755 +--- a/repos/system_upgrade/el7toel8/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh ++++ b/repos/system_upgrade/el7toel8/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh +@@ -70,6 +70,24 @@ do_upgrade() { + ## install new product id certificates + #chroot $NEWROOT /bin/sh -c 'mv -f /system-upgrade/*.pem /etc/pki/product/' + ++ if [ -d "/sys/firmware/efi/efivars/" ]; then ++ cp $NEWROOT/lib64/libefi* /lib64/ ++ cp $NEWROOT/lib64/libfdisk* /lib64/ ++ if ! $NEWROOT/usr/sbin/efibootmgr | grep -i "Anolis OS"; then ++ efi_device=$($NEWROOT/usr/sbin/fdisk -l -o Device,Type | grep EFI\ System | sed 's/ .*//') ++ if [ "${efi_device}" ]; then ++ efi_part=${efi_device:8} ++ efi_device=${efi_device::8} ++ if [ "$(uname -m)" == "aarch64" ]; then ++ efi_arch="aa64" ++ elif [ "$(uname -m)" == "x86_64" ]; then ++ efi_arch="x64" ++ fi ++ $NEWROOT/usr/sbin/efibootmgr -c -d ${efi_device} -p ${efi_part} -l "/EFI/anolis/shim${efi_arch}.efi" -L "Anolis OS" ++ fi ++ fi ++ fi ++ + # restore things twiddled by workarounds above. TODO: remove! + if [ -f /sys/fs/selinux/enforce ]; then + echo $enforce > /sys/fs/selinux/enforce +-- +2.27.0 + diff --git a/leapp-repository.spec b/leapp-repository.spec index 45428dd77a535570523859e66ff13674660a67e8..f2f2fe1faead7e1848b5b602df2b842470d9929e 100644 --- a/leapp-repository.spec +++ b/leapp-repository.spec @@ -11,7 +11,7 @@ }\ py2_byte_compile "%1" "%2"} -%define anolis_release 2 +%define anolis_release 3 Name: leapp-repository Version: 0.13.0 @@ -52,6 +52,7 @@ Patch23: 0023-fix-kernel-version-check-of-anolis-kernel.patch Patch24: 0024-remove-unofficial-url.patch Patch25: 0025-add-check-openssl11-libs.patch Patch26: 0026-Add-checkbaota-actor.patch +Patch27: 0027-upgrade-write-efi-vars-for-ecs-firmware.patch BuildArch: noarch BuildRequires: python-devel @@ -174,6 +175,9 @@ done; # no files here %changelog +* Thu Sep 1 2022 Liwei Ge - 0.13.0-2.3 +- Write efi vars for ecs firmware + * Tue Jun 14 2022 Weitao Zhou - 0.13.0-2.2 - Add checkbaota actor