Unable to boot Renegade (ROC-RK3328-CC) with F38 IoT

, ,

I’m working on installing Fedora IoT 38 (Fedora-IoT-38.20230419.2-20230419.2.aarch64.raw.xz) on a Renegade (ROC-RK3328-CC) via the raw aarch64 image that is available. I used arm-image-installer to get me this far. I’ve tried with Fedora IoT 37 as well, and I was able to at least select the Fedora IoT boot option before it faulted all over the place. Below is the serial console from me following the boot process. My question is, anyone have any idea why it’s failing?

U-Boot 2023.04 (Apr 04 2023 - 00:00:00 +0000)

Model: Firefly roc-rk3328-cc
DRAM:  2 GiB
PMIC:  RK8050 (on=0x40, off=0x00)
Core:  226 devices, 22 uclasses, devicetree: separate
MMC:   mmc@ff500000: 1, mmc@ff520000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Firefly roc-rk3328-cc
Net:   eth0: ethernet@ff540000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found EFI removable media binary efi/boot/bootaa64.efi
966711 bytes read in 55 ms (16.8 MiB/s)
Card did not respond to voltage select! : -110
No EFI system partition
No EFI system partition
Failed to persist EFI variables
Booting /efi\boot\bootaa64.efi
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
Unknown Relocation off 910543ff type f
LoadImage failed: Load Error
Device path: "VenHw(E61D73B9-A384-4ACC-AEAB-82E828F3628B)/Path(131,26,0x01000000831A0800)/Path(131,26,0x0000000084013000)/HD(1,MBR,0xC1748067)/\EFI\fedora\shimaa64.efi"
01 04 14 00 B9 73 1D E6 84 A3 CC 4A AE AB 82 E8 
28 F3 62 8B 03 1A 05 00 01 03 1A 05 00 00 04 01 
2A 00 01 00 00 00 00 08 00 00 00 00 00 00 00 A8 
0F 00 00 00 00 00 67 80 74 C1 00 00 00 00 00 00 
00 00 00 00 00 00 01 01 04 04 36 00 5C 00 45 00 
46 00 49 00 5C 00 66 00 65 00 64 00 6F 00 72 00 
61 00 5C 00 73 00 68 00 69 00 6D 00 61 00 61 00 
36 00 34 00 2E 00 65 00 66 00 69 00 00 00 7F FF 
04 00 

When writing the image with the arm-image-installer did you use the --target XXX option as needed to properly configure uboot on the installed image for the board being written for.?

The supported boards can be shown with the command arm-image-installer --supported, and I don’t see your board there with a quick look. I may be overlooking it, but it does not appear with a grep for roc, rk3328, firefly, or renegade.

It may be that the workstation or server image would load even when the IoT image does not. It also may be that the board is not properly supported yet since it does not appear in the supported list.

I did; my target is roc-cc-rk3328. The Fedora IoT image does include the u-boot specific to that board and the u-boot portion is fine. Just when u-boot goes to pivot to the next image is when it produces that content. I don’t know where JTAG is on this board and I don’t know if the ICE I have will work with ARMv8.

Libre Computer has a Rockchip CPU device being RISC (Reduced Instruction Set Computer) having nothing to with ARM … the Fedora log gives EFI messages only applicable to x86 devices, nothing else leaving you in the dark => https://libre.computer/ and simply follow instructions … Red Hat is closing the door …

Thank you for your contribution, @marko23 , however I need to correct the record on a number of items.

Libre Computer has a Rockchip CPU device being RISC (Reduced Instruction Set Computer) having nothing to with ARM

Libre Computer is a brand with many products, one of which is the Renegade. The Renegade is using a Rockchip SoC referred to as the RK3328, which is an ARM Cortex A53 based SoC. The Cortex A53 is an ARMv8 processor. I believe there is a conflation of terms in this statement as well. “RISC” is a type of instruction set architecture, of which ARMv8 is a RISC architecture; It also happens to be part of the name of an opensource IP core known as RISC V which is a RISC architecture.

the Fedora log gives EFI messages only applicable to x86 devices, nothing else leaving you in the dark

AFAIK, Fedora can’t give you EFI logs because EFI comes before Fedora. EFI is not x86 only. While EFI is not natively supported on the RK3328, Das U-Boot bootloader does provide support for EFI applications to be run on RK3328.

https://libre.computer/ and simply follow instructions

No instructions for Fedora IoT.

Red Hat is closing the door …

Not related to the topic.

I opened a bug with U-Boot maintainers in BZ, and it looks like the issue isn’t U-Boot related but rather kernel or ATF. I was able to get F37 to boot, however the ROC-CC-RK3328 support for the USB ports in Linus’ mainline isn’t there and the Libre.Computer folks haven’t opened up what they have. I’ve suspended looking into this further for now. I’ll grab another Renegade and see if I can get some better support upstream.