Gigabyte MP30-AR0: Flashing UEFI

I finally got UEFI flashed onto the Gigabyte board so now it is SBSA/SBBR compliant [edit: see note at end] and will just work with RHEL. Instructions here: https://lists.centos.org/pipermail/arm-dev/2016-March/001743.html

Here are the boot messages from TianoCore:

TianoCore 1.20.03 UEFI 2.4.0 Jan 26 2016 18:09:04
CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz
     32 KB ICACHE, 32 KB DCACHE
     SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz
Board: X-Gene Mp30ar0 Board
Slimpro FW:
        Ver: 2.4 (build 01.15.01.00 2015/05/22)
        TPC: disable
        AVS: support
        PMD: 970 mV
        SOC: 950 mV
The default boot selection will start in   1 second

Note: A few people have pointed out that the Gigabyte isn’t SBSA compliant because it lacks the right serial port, RTC and WDT. However it still boots RHELSA fine if you add console=ttyS0,115200.

8 Comments

Filed under Uncategorized

8 responses to “Gigabyte MP30-AR0: Flashing UEFI

  1. someone

    Did you use the non-free FAT driver or ext2?

    • rich

      As is common with servers, the firmware is closed source. Actually, TianoCore is open source but the firmware we got from APM may have binary blobs added to it. We don’t have the corresponding source nor details of how it was built. It contains a FAT driver (somehow it manages to read the EFI FAT partition) so the chances are it uses the license-encumbered-but-source-available FAT driver.

      Edit: My colleague Mark Langsdorf has an open source UEFI for the (related but perhaps not identical) APM Mustang hardware: https://github.com/mlangsdorf/linaro-edk2

      • Mark Langsdorf

        I’ve got a dated version of the Tianocore firmware available at
        https://github.com/mlangsdorf/linaro-edk2
        I’m not maintaining it any more and I recommend people use the APM version instead, but there aren’t any binary only blobs in there. The original code is forked from the APM source and merged and rebased a couple of times.

  2. drt

    I have flashed my Gigabyte MP30-AR0 with TianoCore and installed CentOS 7.2 successfully. Sadly, in dmesg I have a lot of error messages:
    [84080.610477] pcieport 0003:00:00.0: AER: Corrected error received: id=0000
    [84080.617312] pcieport 0003:00:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=0000(Receiver ID)
    [84080.627505] pcieport 0003:00:00.0: device [10e8:e004] error status/mask=00000081/00002001
    [84080.635852] pcieport 0003:00:00.0: [ 7] Bad DLLP
    [84080.988369] pcieport 0003:00:00.0: AER: Corrected error received: id=0000
    [84080.995189] pcieport 0003:00:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=0000(Receiver ID)
    [84081.005377] pcieport 0003:00:00.0: device [10e8:e004] error status/mask=00000081/00002001
    [84081.013727] pcieport 0003:00:00.0: [ 7] Bad DLLP
    [84081.883858] pcieport 0003:00:00.0: AER: Corrected error received: id=0000
    [84081.890648] pcieport 0003:00:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=0000(Receiver ID)
    [84081.900848] pcieport 0003:00:00.0: device [10e8:e004] error status/mask=00000081/00002001
    [84081.909199] pcieport 0003:00:00.0: [ 7] Bad DLLP
    [84082.896315] pcieport 0003:00:00.0: AER: Corrected error received: id=0000
    [84082.903152] pcieport 0003:00:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=0000(Receiver ID)
    [84082.913325] pcieport 0003:00:00.0: device [10e8:e004] error status/mask=00000081/00002001
    [84082.921646] pcieport 0003:00:00.0: [ 7] Bad DLLP

    # lspci |grep “3:00”
    0003:00:00.0 PCI bridge: Applied Micro Circuits Corp. X-Gene PCIe bridge (rev 04)

    And the server is unstable, it hangs after 1-3 days or during high load.

    I have observed that sometimes after executing poweroff command, the box start up after a while …

    • rich

      I’m sorry to hear that. Mine is stable over days, but I have not tried any sustained heavy loads. Could it be a cooling / ventilation problem?

  3. drt

    I think it has nothing to do with temperature. What power supply do you have? My is 400W, user manual recommends stronger … Do you have any PCI-E cards? I have two cards. I have checked how many watts the box takes, during idle ~61.2W during high load ~91W. My RAM memory is: Samsung 16GB M393B2G70QH0-CMA.

    • rich

      The PSU is a Corsair CX 430, which I think means it is 430W. The memory is 32GB of Crucial Ballistix BLS2C8G3D169DS3CEU. There are no PCIe cards (or any other card).

  4. drt

    I have removed both PCI-E cards, boot up then:
    $ cd linux
    $ while true; do make clean; make all -j16; done;
    After ~18 hours of work no errors. I have checked both PCI-E cards separately, in both PCI-E slots. Both cards cause PCI-E errors in PCIE_1 slot. When the cards are pull in to PCIE_2 slot, no errors. Does any one of you use PCI-E cards on this platform?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s