Improve aarch64 UEFI support (#1067671)

Update the templates and config file to better support EFI on aarch64
on 64-bit ARM.

Resolves: rhbz#1067671

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Brian C. Lane <bcl@redhat.com>
This commit is contained in:
d.marlin 2014-02-19 22:33:08 -06:00 committed by Brian C. Lane
parent d9eda042f8
commit 9ec64933db
3 changed files with 10 additions and 16 deletions

View File

@ -2,7 +2,6 @@
<% <%
configdir="tmp/config_files/aarch64" configdir="tmp/config_files/aarch64"
PXEBOOTDIR="images/pxeboot" PXEBOOTDIR="images/pxeboot"
BOOTDIR="boot"
KERNELDIR=PXEBOOTDIR KERNELDIR=PXEBOOTDIR
LIVEDIR="LiveOS" LIVEDIR="LiveOS"
%> %>
@ -11,15 +10,6 @@ mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
## install bootloader and config files
mkdir ${BOOTDIR}
install ${configdir}/boot.msg ${BOOTDIR}
install ${configdir}/grub2-efi.cfg ${BOOTDIR}
## configure bootloader
replace @VERSION@ ${product.version} ${BOOTDIR}/grub2-efi.cfg ${BOOTDIR}/*.msg
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub2-efi.cfg ${BOOTDIR}/*.msg
## install kernels ## install kernels
mkdir ${KERNELDIR} mkdir ${KERNELDIR}
%for kernel in kernels: %for kernel in kernels:
@ -35,7 +25,7 @@ mkdir ${KERNELDIR}
## WHeeeeeeee, EFI. ## WHeeeeeeee, EFI.
## We could remove the basearch restriction someday.. ## We could remove the basearch restriction someday..
<% efiargs=""; efigraft="" %> <% efiargs=""; efigraft="" %>
%if exists("boot/efi/EFI/*/gcdaa64.efi"): %if exists("boot/efi/EFI/*/grubaa64.efi"):
<% <%
efiarch = 'AARCH64' efiarch = 'AARCH64'
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot) efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)

View File

@ -9,10 +9,9 @@ set timeout=5
### END /etc/grub.d/00_header ### ### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { menuentry 'Install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os {
set root='hd0,gpt2' linux @KERNELPATH@ @ROOT@ ro console=ttyS0,115200 debug earlyprintk=uart8250-32bit,0x1c020000 maxcpus=1
devicetree @KERNELPATH@/../foundation-v8.dtb initrd @INITRDPATH@
linuxefi @KERNELPATH@ @ROOT@ mem=2G console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug uefi_debug rw devicetree /images/pxeboot/apm-mustang.dtb
initrdefi @INITRDPATH@
} }

View File

@ -7,9 +7,14 @@ APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
mkdir ${EFIBOOTDIR} mkdir ${EFIBOOTDIR}
mkdir ${EFIBOOTDIR}/fonts/ mkdir ${EFIBOOTDIR}/fonts/
%if efiarch == 'AARCH64':
install boot/efi/EFI/*/grubaa64.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
install boot/efi/EFI/*/grubaa64.efi ${EFIBOOTDIR}/grubaa64.efi
%else:
install boot/efi/EFI/*/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi install boot/efi/EFI/*/shim.efi ${EFIBOOTDIR}/BOOT${efiarch}.efi
install boot/efi/EFI/*/MokManager.efi ${EFIBOOTDIR}/ install boot/efi/EFI/*/MokManager.efi ${EFIBOOTDIR}/
install boot/efi/EFI/*/gcdx64.efi ${EFIBOOTDIR}/grubx64.efi install boot/efi/EFI/*/gcdx64.efi ${EFIBOOTDIR}/grubx64.efi
%endif
install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/ install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
## actually make the EFI images ## actually make the EFI images