[master 1/1] Make 64-bit kernel on 32-bit firmware work for x86 efi machines
vathpela
installerbot-noreply at redhat.com
Mon Apr 13 18:56:59 UTC 2015
From: Peter Jones <pjones at redhat.com>
This enables Baytrail and similar atom CPUs that typically ship with a
32-bit firmware, but have a 64-bit capable CPU.
Signed-off-by: Peter Jones <pjones at redhat.com>
---
share/efi.tmpl | 9 +++++++--
share/live/efi.tmpl | 9 +++++++--
share/live/x86.tmpl | 8 +++++---
share/runtime-install.tmpl | 2 +-
share/x86.tmpl | 8 +++++---
5 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/share/efi.tmpl b/share/efi.tmpl
index c82e1c7..781387a 100644
--- a/share/efi.tmpl
+++ b/share/efi.tmpl
@@ -1,4 +1,4 @@
-<%page args="configdir, KERNELDIR, efiarch, isolabel"/>
+<%page args="configdir, KERNELDIR, efiarch, efiarch32, isolabel"/>
<%
from string import lower
EFIBOOTDIR="EFI/BOOT"
@@ -9,9 +9,14 @@ APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
mkdir ${EFIBOOTDIR}
mkdir ${EFIBOOTDIR}/fonts/
install boot/efi/EFI/*/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.EFI
-install boot/efi/EFI/*/MokManager.efi ${EFIBOOTDIR}/
+install boot/efi/EFI/*/MokManager${efiarch|lower}.efi ${EFIBOOTDIR}/
install boot/efi/EFI/*/gcd${efiarch|lower}.efi ${EFIBOOTDIR}/grub${efiarch|lower}.efi
install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
+%if efiarch32:
+install boot/efi/EFI/*/shim${efiarch32|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch32}.EFI
+install boot/efi/EFI/*/MokManager${efiarch32|lower}.efi ${EFIBOOTDIR}/
+install boot/efi/EFI/*/gcd${efiarch32|lower}.efi ${EFIBOOTDIR}/grub${efiarch32|lower}.efi
+%endif
## actually make the EFI images
${make_efiboot("images/efiboot.img")}
diff --git a/share/live/efi.tmpl b/share/live/efi.tmpl
index 54e1e15..b463666 100644
--- a/share/live/efi.tmpl
+++ b/share/live/efi.tmpl
@@ -1,4 +1,4 @@
-<%page args="configdir, KERNELDIR, efiarch, isolabel"/>
+<%page args="configdir, KERNELDIR, efiarch, efiarch32, isolabel"/>
<%
from string import lower
EFIBOOTDIR="EFI/BOOT"
@@ -9,9 +9,14 @@ APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
mkdir ${EFIBOOTDIR}
mkdir ${EFIBOOTDIR}/fonts/
install boot/efi/EFI/*/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.EFI
-install boot/efi/EFI/*/MokManager.efi ${EFIBOOTDIR}/
+install boot/efi/EFI/*/MokManager${efiarch|lower}.efi ${EFIBOOTDIR}/
install boot/efi/EFI/*/gcd${efiarch|lower}.efi ${EFIBOOTDIR}/grub${efiarch|lower}.efi
install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
+%if efiarch32:
+install boot/efi/EFI/*/shim${efiarch32|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch32}.EFI
+install boot/efi/EFI/*/MokManager${efiarch32|lower}.efi ${EFIBOOTDIR}/
+install boot/efi/EFI/*/gcd${efiarch32|lower}.efi ${EFIBOOTDIR}/grub${efiarch32|lower}.efi
+%endif
## actually make the EFI images
${make_efiboot("images/efiboot.img")}
diff --git a/share/live/x86.tmpl b/share/live/x86.tmpl
index f60b80d..1346cb6 100644
--- a/share/live/x86.tmpl
+++ b/share/live/x86.tmpl
@@ -57,9 +57,11 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
%endif
## WHeeeeeeee, EFI.
-## We could remove the basearch restriction someday..
-<% efiargs=""; efigraft=""; efihybrid="" %>
-%if exists("boot/efi/EFI/fedora/gcdx64.efi") and basearch != 'i386':
+<% efiargs=""; efigraft=""; efihybrid=""; efiarch32=None; %>
+%if exists("boot/efi/EFI/fedora/gcdia32.efi"):
+ <% efiarch32 = 'IA32' %>
+%endif
+%if exists("boot/efi/EFI/fedora/gcdx64.efi"):
<%
efiarch = 'X64' if basearch=='x86_64' else 'IA32'
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
diff --git a/share/runtime-install.tmpl b/share/runtime-install.tmpl
index 69e565b..6a8aedc 100644
--- a/share/runtime-install.tmpl
+++ b/share/runtime-install.tmpl
@@ -33,7 +33,7 @@ installpkg grubby
installpkg kernel-PAE gpart
%endif
%if basearch == "x86_64":
- installpkg efibootmgr grub2-efi shim shim-unsigned
+ installpkg efibootmgr grub2-efi.x86_64 grub2-efi.i686 shim.x86_64 shim.i686 shim-unsigned.x86_64 shim-unsigned.i686
%endif
%if basearch in ("i386", "x86_64"):
installpkg grub2 grub2-tools memtest86+ syslinux syslinux-nonlinux
diff --git a/share/x86.tmpl b/share/x86.tmpl
index 7273e28..c69920f 100644
--- a/share/x86.tmpl
+++ b/share/x86.tmpl
@@ -71,9 +71,11 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
%endif
## WHeeeeeeee, EFI.
-## We could remove the basearch restriction someday..
-<% efiargs=""; efigraft=""; efihybrid="" %>
-%if exists("boot/efi/EFI/*/gcdx64.efi") and basearch != 'i386':
+<% efiargs=""; efigraft=""; efihybrid=""; efiarch32=None %>
+%if exists("boot/efi/EFI/*/gcdia32.efi"):
+ <% efiarch32 = 'IA32' %>
+%endif
+%if exists("boot/efi/EFI/*/gcdx64.efi"):
<%
efiarch = 'X64' if basearch=='x86_64' else 'IA32'
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
--
To view this commit on github, visit https://github.com/rhinstaller/lorax/commit/02983fa513383fd6f674a406c252652231e893d6
More information about the anaconda-patches
mailing list