[CentOS] aarch64 boot up process/EFI

Wed Nov 28 14:48:54 UTC 2018
Asya Dvorkin <advorkin at cs.princeton.edu>

Hello,

I am not sure if this is the correct place to ask, but I do not have anyone else to go to.

I'm working on building our own custom aarch64 RHEL distribution and using CentOS SRPMs to rebuild necessary packages.  I am also utilizing kickstart.

At this point, my kickstart installs all packages (by using a local repository with newly rebuild packages), but in the end I get an error "failed to write boot loader configuration".  I noticed that i have /boot/efi/EFI/redhat directory on my newly "installed" server, while centos server has /boot/efi/EFI/centos directory.  According to efibootmgr it is trying to boot \EFI\centos\shimaa64.efi, which doesn't exist (EFI\redhat\shimaa64.efi does).  Those files are created by shim rpms and they are a total mess.  I don't even know where to start or what to look for. 

`efibootmgr -v` shows 0000 in the beginning of BootOrder
Boot0000* CentOS: HD (1,GPT,.......)/File(\EFI\centos\shimaa64.efi).

Shim package has the following files/directories:
$ rpm -qlp  shim-aa64-12-1
/boot/efi/EFI/BOOT/BOOTAA64.EFI
/boot/efi/EFI/BOOT/fbaa64.efi
/boot/efi/EFI/redhat/BOOTAA64.CSV
/boot/efi/EFI/redhat/mmaa64.efi
/boot/efi/EFI/redhat/shim.efi
/boot/efi/EFI/redhat/shimaa64-redhat.efi
/boot/efi/EFI/redhat/shimaa64.efi

I have been reading EFI documentation and I understand the concept (or rather I think I do), but not sure how to make it all work with shim RPMs and/or how to properly rebuild them.  Would really appreciate any advice...

Thank you!
Asya