Installation of Fedora 21 on clean APM Mustang

Last week I wrote a blog post about installing Fedora 21 on APM Mustang with use of already existing GRUB. But let’s consider it cheating ;D

This time I am going to write how to install on fresh clean APM Mustang. I am assuming UEFI firmware not U-Boot so it you use latter then follow Updating to UEFI page on Fedora wiki.

Requirements:

First step is preparing USB thumbdrive. Create GPT partition type ‘ef00’ (EFI System), format it as FAT and copy “/EFI” and “/images” directories from DVD. Then plug it into one of USB ports on back of Mustang. Why only those files instead of whole image? Reason is simple: UEFI knows how to handle USB but Linux kernel does not ;(

Put PCI Express SATA controller into PCIe slot and connect DVD drive to it. This is needed cause X-Gene SATA controller is unable to handle DVD drive — see bug #1150676. Put Fedora installation disk into drive.

Now reboot Mustang and wait for UEFI prompt (you may press a key before it goes for PXE boot):

TianoCore 1.1-rh-0.12-1 UEFI 2.4.0 Aug 21 2014 13:35:29
CPU: APM ARM 64-bit Potenza 2400MHz PCP 2400MHz
     32 KB ICACHE, 32 KB DCACHE
     SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz
Board: X-Gene Mustang Board
The default boot selection will start in   1 second
Attempting PXE boot on MAC: 00:01:73:02:0B:73


InstallProtocolInterface: 245DCA21-FB7B-11D3-8F01-00A0C969723B 43FE9600E0
.PXE-E18: Server response timeout.
-----------------------
Global FDT Config
        - VenHw(F40A3869-92C4-4275-8501-4491A1A20C19)/mustang.dtb
-----------------------
[a] Boot Manager
[b] Shell
[c] Reboot
[d] Shutdown
Start: ?

Select “Shell” option. After few seconds UEFI will present you list of recognized filesystems and block devices (I have one clean hard drive connected):

UEFI Interactive Shell v2.0
EDK II
UEFI v2.40 (X-Gene Mustang Board EFI Aug 21 2014 13:43:15, 0x00000000)
Mapping table
      FS0: Alias(s):HD10a0b:;BLK2:
          PciRoot(0x8)/Pci(0x0,0x0)/USB(0x0,0x0)/HD(1,GPT,07A2CC65-FF01-48F7-9E54-CCB05A154A1D,0x800,0x3B801)
     BLK4: Alias(s):
          VenHw(6C9CEEF0-A406-11E3-A5E2-0800200C9A66)
     BLK3: Alias(s):
          VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
     BLK6: Alias(s):
          VenHw(F40A3869-92C4-4275-8501-4491A1A20C19)
     BLK5: Alias(s):
          VenHw(B225ED30-6DFD-43A9-BF6B-5753358F2F70)
     BLK0: Alias(s):
          PciRoot(0x7)/Pci(0x0,0x0)/Sata(0x1,0x0,0x0)
     BLK1: Alias(s):
          PciRoot(0x8)/Pci(0x0,0x0)/USB(0x0,0x0)

Enter shell and then enter one command (you can use key for completion): “fs0:EFIBOOTBOOTAA64.efi” to boot Grub from USB:

Install Fedora-Server 21_Alpha
Test this media & install Fedora-Server 21_Alpha
Troubleshooting -->

Use the  and  keys to change the selection.
Press 'e' to edit the selected item, or 'c' for a command prompt.

Select first option and then it is standard Fedora installation. Anaconda starts and suggests using VNC to control installation as serial line interface lacks many options.

Fedora installer

Installation takes several minutes. But there is another bug there: unable to add bootloader entry into EFI so we have to fix it before final release.

Fedora installer bug

But bootloader itself is loaded so after reboot we land in UEFI shell again. This time need to run “fs0:EFIfedoragrubaa64.efi” and there it goes: fresh Fedora 21 installation.

aarch64 fedora mustang