Hikey is a development board with HiSilicon Kirin 620 eight-core ARM Cortex-A53 64-bit SoC. The original firmware is based on Tianocore EDK II, and I'd like to port coreboot to this board.
Challenges:
- Learn about ARMv8 ISA, ARM TrustZone and ARM Trusted firmware
- Find out the key initialization code in the UEFI firmware
- Find the way to use the non-free blobs
Goal:
- Flash the firmware to the board and use of the serial console to debug
- Boot coreboot firmware
- Try to boot an operating system
This project is part of:
Hack Week 14
Activity
Comments
-
over 8 years ago by algraf | Reply
There are no non-free blobs on the HiKey IIRC. You can build ATF, EDK2, U-boot, etc all from source code.
-
over 8 years ago by vimacs | Reply
I've found these blobs: - Watch Dog Driver - Flash Driver - SnpPV600 - MCU
-
over 8 years ago by a_faerber | Reply
Surely upstream U-Boot does not contain such blobs. Is there a reason you specifically want coreboot?
-
over 8 years ago by vimacs | Reply
I just saw that u-boot supports this board, but it still needs the mcuimage.bin blob. The u-boot code base may be easier to understand than edk2, and the job can be easier.
I think what coreboot can do better than other firmware projects is that it can use many customized payloads, a mature and simplified code base, features like cbmem for debugging and logging, etc.
-
-
-
Similar Projects
Investigate non-booting Forlinx OKMX8MX-C board (aarch64) by a_faerber
Description
In the context of a SUSE customer inquiry last year, a Forlinx OKMX8MX-C arm64 board had been relayed to me from China that a customer was not successful booting SUSE Linux Micro on. Typically this happens when the vendor's bootloader (e.g., U-Boot) is not configured properly (e.g., U-Boot's distro boot) to be compliant with Arm SystemReady Devicetree (formerly IR) band. Unfortunately I could not immediately get it to emit any output, to even diagnose why it wasn't working. There was no public documentation on the vendor's website to even confirm I was checking the right UARTs.
Earlier this year (2024) I happened to meet the ODM/OEM, Forlinx, at Embedded World 2024 in Nuremberg and again the Monday before Hackweek 24 at Electronica 2024 in Munich. The big puzzle was that the PCB print "OKMX8MX-C" does not match any current Forlinx product, there being OKMX8MM-C and OKMX8MP-C products with the Mini and Plus variants of NXP i.MX 8M family instead. One suggestion from Forlinx staff was to double-check the DIP switches on the board for boot mode selection.
Goals
Double-check the board name and investigate further what may be wrong with this board.
Resources
none
Progress
- The board name is indeed as spelled above, not matching any product on forlinx.net.
- The DIP switches were set to boot from microSD.
- Changing the DIP switches to eMMC boot did result in UART1 RS-232 output! (although at times garbled with the cable supplied and USB adapter used)
- As feared, it did not automatically load our GRUB from USB.
- Booting our GRUB manually from USB (via eMMC U-Boot commands fatload+bootefi) was unsuccessful, with partially Chinese error messages.
- This confirmed the initial suspicion, already shared with Forlinx at Embedded World 2024, that the Forlinx System-on-Module's boot firmware was not Arm SystemReady Devicetree compliant and that a firmware update would be necessary to remedy that.
- The microSD card turned out not to contain a bootable image but to only include Chinese-language board documentation (dated 20220507) and BSP files. They used a diverging name of OKMX8MQ-C.
Create openSUSE images for Arm/RISC-V boards by avicenzi
Project Description
Create openSUSE images (or test generic EFI images) for Arm and/or RISC-V boards that are not yet supported.
Goal for this Hackweek
Create bootable images of Tumbleweed for SBCs that currently have no images available or are untested.
Consider generic EFI images where possible, as some boards can hold a bootloader.
Document in the openSUSE Wiki how to flash and use the image for a given board.
Boards that I have around and there are no images:
- Rock 3B
- Nano PC T3 Plus
- Lichee RV D1
- StartFive VisionFive (has some image needs testing)
Hack Week 22
Hack Week 21
Resources