From 84a54dc883f61907a9d9312720d1c0c61147958c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20L=C3=B6ser?= Date: Fri, 21 Feb 2025 07:37:37 +0100 Subject: [PATCH] Fixes #38232 - Fix GRUB2 loader commands for Debian/Ubuntu Back in time, GRUB2 is using `linux` and `initrd` loader commands to load the kernel and initrd into ram on legacy BIOS. Later, `linuxefi` and `initrdefi` loader commands have been added to do the same on UEFI platforms as some kind of interim solution. These out-of-tree patches have been added by the vendors. First vendors [1] started now to drop patches for `linuxefi`/`initrdefi` loader commands support, `linux`/`initrd` of course also work under UEFI then. Thus, we need to adapt preseed templates to render correct templates with supported loader commands. [1]:https://salsa.debian.org/grub-team/grub/-/commit/5cf01c9d98bda554ac2460a6e68e34743a19328f --- .../PXEGrub2/preseed_default_pxegrub2.erb | 2 +- .../PXEGrub2/preseed_default_pxegrub2_autoinstall.erb | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2.erb b/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2.erb index 09897020374..ee563114ace 100644 --- a/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2.erb +++ b/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2.erb @@ -19,7 +19,7 @@ description: | os_major = @host.operatingsystem.major.to_i os_name = @host.operatingsystem.name - if (os_name == 'Ubuntu' && os_major > 12) || (os_name == 'Debian' && os_major > 8) + if (os_name == 'Ubuntu' && os_major > 12 && os_major < 24) || (os_name == 'Debian' && os_major > 8 && os_major < 13) efi_suffix = 'efi' else efi_suffix = '' diff --git a/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2_autoinstall.erb b/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2_autoinstall.erb index 28c0e89e20f..f65ca788ae1 100644 --- a/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2_autoinstall.erb +++ b/app/views/unattended/provisioning_templates/PXEGrub2/preseed_default_pxegrub2_autoinstall.erb @@ -19,7 +19,13 @@ test_on: # System locale # <% - efi_suffix = 'efi' + os_major = @host.operatingsystem.major.to_i + + if (os_major > 12 && os_major < 24) + efi_suffix = 'efi' + else + efi_suffix = '' + end -%> set default=0