Bug 1323239 - Kernel does not boot on Gigabyte MP30-AR0 system (APM X-Gene 1)
Summary: Kernel does not boot on Gigabyte MP30-AR0 system (APM X-Gene 1)
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 25
Hardware: aarch64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-01 15:36 UTC by Ronald Maas
Modified: 2016-11-18 05:19 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-18 05:19:13 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ronald Maas 2016-04-01 15:36:51 UTC
Description of problem:

The Kernel does not boot after I select applicable option in the Fedora Installer Grub boot menu.

Version-Release number of selected component (if applicable):

Fedora 24 Alpha Server for Aarch64

How reproducible:

Every time.

Steps to Reproduce:

1. Download https://dl.fedoraproject.org/pub/fedora-secondary/releases/test/24_Alpha/Server/aarch64/iso/Fedora-Server-netinst-aarch64-24_Alpha-1.3.iso
2. Verify checksum
3. Copy to USB drive using Windows Win32DiskImager
4. Insert drive in X-Gene system
5. Boot X-Gene system
6. Navigate to UEFI Shell
7. Enter the following command to start the Fedora installer:
   FS1:\EFI\BOOT\BOOTAA64.EFI
8. In the Grub boot menu select the first menu option and hit enter
9. System hangs

The boot issue was not resolved after I restarted the system and added the following kernel parameter: console=ttyS0,115200

Actual results:

The following is displayed on the serial console:

EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Existing boot services and installing virtual address map...
L3c Cache: 8MB

Systems hangs and needs to be rebooted.

Expected results:

First screen of Anaconda on either VGA or serial console.

Additional info:

Hardware
Gigabyte MP30-AR0 motherboard with APM X-Gene 1 processor flashed with TianoCore UEFI
Kingston KVR16LE11S8/4HB 16 GB ECC DDR3 DRAM
HGST Deskstar NAS 6 TB hard drive
Logitech USB keyboard

The standard U-Boot firmware has been replaced by TianoCore UEFI using the steps described in: https://rwmj.wordpress.com/2016/03/08/gigabyte-mp30-ar0-flashing-uefi/

Both Centos 7.2 and Debian Testing were successfully installed on this system and running stable.

Note the xgene_enet ethernet driver does not seem to work properly when compiled as module. Therefore it is necessary to ensure the following setting is correct when compiling the kernel using make menuconfig:

Device Drivers > Serial ATA and Parallel ATA drivers (libata)
> APM X-Gene 6.0Gbps AHCI SATA host controller support = Y

See for more detail: https://lists.debian.org/debian-efi/2016/03/msg00020.html

Ronald

Comment 1 Yichao Yu 2016-05-01 16:21:19 UTC
> EFI stub: Booting Linux Kernel...
> EFI stub: Using DTB from configuration table
> EFI stub: Existing boot services and installing virtual address map...
> L3c Cache: 8MB

I had the same problem with the ArchLinux ARM kernel and then I realized that the issue I has is caused by having the wrong setting when adding the boot entry.
It seems that the answer to the question "Is an EFI Application?" should be "n" since it follows the question "File path of the EFI Application or the kernel" and "not an EFI Application" means it is kernel.

The message seems to be confusing (assuming my interpretation is right) but with this change I am able to see boot messages from the kernel now (my userspace is not properly set up yet so I can't say if this solves all my issues yet.)

Comment 2 Ronald Maas 2016-05-15 22:32:19 UTC
Issue was not resolved in Fedora 24 Server beta ISO downloaded from https://dl.fedoraproject.org/pub/fedora-secondary/releases/test/24_Beta/Everything/aarch64/iso/Fedora-Everything-netinst-aarch64-24_Beta-1.2.iso

I tried adding the following kernel options, but kernel failed to boot:

console=ttyS0,115200
acpi=off
console=ttyS0,115200 acpi=off

Any advise what I can try to get kernel to boot properly?

Comment 3 Yichao Yu 2016-05-15 22:39:40 UTC
Another observation I has was that the default address setting does not support a big kernel image. At least for UBOOT, when I tried to load the kernel with the default boot sequence, the device tree overrides the kernel code causing the kernel to hang on boot. with the message mentioned above. Changing the load address solves this issue (although I haven't got it boot to userspace last time I tried it...)

Comment 4 Peter Robinson 2016-05-15 23:04:52 UTC
(In reply to Yichao Yu from comment #3)
> Another observation I has was that the default address setting does not
> support a big kernel image. At least for UBOOT, when I tried to load the
> kernel with the default boot sequence, the device tree overrides the kernel
> code causing the kernel to hang on boot. with the message mentioned above.
> Changing the load address solves this issue (although I haven't got it boot
> to userspace last time I tried it...)

Booting with grub using uEFI (the only thing supported with the x-gene) you don't need to be setting any load address.

Comment 5 Peter Robinson 2016-05-18 10:05:47 UTC
This should be fixed with today's compose on uEFI. Please test

https://dl.fedoraproject.org/pub/fedora-secondary/development/24/

Comment 6 Ronald Maas 2016-05-19 04:27:28 UTC
(In reply to Peter Robinson from comment #5)
> This should be fixed with today's compose on uEFI. Please test
> 
> https://dl.fedoraproject.org/pub/fedora-secondary/development/24/

Problem still exists. This time added the following kernel parameters:

console=ttyS0,115200 earlycon=uart8250,mmio32,0x1c020000

and was able to capture the kernel panic trace: http://pastebin.com/C6tx5MYe

Comment 7 Peter Robinson 2016-05-19 06:46:14 UTC
> Problem still exists. This time added the following kernel parameters:

How are you booting this? I see you select EFI shell, then there's a bunch of garbage. Then I see:

Failed to set MokListRT: Invalid Parameter

Which leads me to believe you're using an old uEFI shim. Is this booting PXE from the network? If so you will need to update the shim/grub2 on your PXE server too to the one that ships on the ISO.

Comment 8 Ronald Maas 2016-05-19 13:36:52 UTC
(In reply to Peter Robinson from comment #7)
> > Problem still exists. This time added the following kernel parameters:
> 
> How are you booting this? I see you select EFI shell, then there's a bunch
> of garbage. Then I see:

In UEFI shell I type the command:

FS1:\EFI\BOOT\BOOTAA64.EFI

This is the garbage you see as UEFI renders the whole line for each character I type.

Detailed steps are listed in the initial post

> 
> Failed to set MokListRT: Invalid Parameter
> 
> Which leads me to believe you're using an old uEFI shim. Is this booting PXE
> from the network? If so you will need to update the shim/grub2 on your PXE
> server too to the one that ships on the ISO.

I boot from USB drive. No network booting.

Note the GRUB menu is working fine. When I select an entry from the menu, then the kernel blows up. If it is expecting a specific kernel parameter, then I can add it before booting and try again.

Comment 9 Richard W.M. Jones 2016-05-23 19:36:09 UTC
Saw the same thing happening with RHEL aarch64 kernels too:
https://bugzilla.redhat.com/show_bug.cgi?id=1337705

Comment 10 Richard W.M. Jones 2016-05-23 21:28:23 UTC
Ignore comment 9, the stack trace from that bug is quite different.
However thanks for the tip for getting the right earlyprintk line
for this hardware.

Comment 11 Laura Abbott 2016-09-23 19:20:06 UTC
*********** MASS BUG UPDATE **************
 
We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 24 kernel bugs.
 
Fedora 24 has now been rebased to 4.7.4-200.fc24.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.
 
If you have moved on to Fedora 25, and are still experiencing this issue, please change the version to Fedora 25.
 
If you experience different issues, please open a new bug report for those.

Comment 12 Ronald Maas 2016-10-11 04:36:29 UTC
Both Fedora 24 release version (Fedora-Everything-netinst-aarch64-24-1.1.iso) and Fedora 25 development (Fedora-Everything-netinst-aarch64-25-20161010.n.0.iso) do not boot. Reported problem has not been resolved.

I updated Version field from 24 to 25

Comment 13 Peter Robinson 2016-10-11 11:18:30 UTC
So on x-gene with latest upstream kernels you'll need the latest vendor firmware. Do you happen to have the version that you're running?

Comment 14 Ronald Maas 2016-10-12 04:17:21 UTC
The standard U-Boot firmware has been replaced by TianoCore UEFI using the steps described in: https://rwmj.wordpress.com/2016/03/08/gigabyte-mp30-ar0-flashing-uefi/

There is no official UEFI version available on the Gigabyte support site for MP30-AR0 - although it is available for a later model MP30-AR1. At the moment OpenSuse 42.1 works 100% stable with the current firmware, so therefore I have no plans to upgrade it any time soon.

Ronald

Comment 15 Ronald Maas 2016-11-18 05:16:58 UTC
I was able to install the latest Fedora 25 RC 1.3 successfully after upgrading the TianoCore UEFI to the latest Gigabyte MP30-AR1 UEFI firmware. Only thing I needed to add the following kernel option because otherwise the graphical Anaconda UI was garbled on the AST2400 VGA adapter:

console=ttyS0,115200

Then installation using both text mode and VNC worked fine.

Thanks all for your help and suggestions.

Links
-----
Gigabyte UEFI firmware: http://download.gigabyte.us/FileList/BIOS/server_bios_mp30-ar1_f01.zip
Fedora 25 RC 1.3 ISO: https://arm.koji.fedoraproject.org/compose/25/Fedora-25-20161117.0/compose/Server/aarch64/iso/Fedora-Server-dvd-aarch64-25-1.3.iso


Note You need to log in before you can comment on or make changes to this bug.