Hi, I have successfully booted my CM5 on the CM5 IO board from an SD card, but I cannot get it to boot from eMMC despite everything I’ve tried. I followed the official documentation for flashing the eMMC with RKDevTool from a Windows PC, but the CM5 does not reboot on its own afterwards like it should (it does reboot on its own after an eMMC flash if I have an SD card with an image plugged in, but it boots from the SD card). I even tried copying the image from the SD card over to eMMC in the system itself. Any help from those that have successfully booted the CM5 from eMMC would be greatly appreciated!
Cannot boot CM5 from eMMC on CM5 IO board
Have you also flashed the SPI image via RKDevTool?
If so then connect to the serial console to see where its getting stuck in the boot process.
Here is the serial log when I tried to boot from eMMC. I’m not too sure what it means or if it’s fixable.
DDR 9fffbe1e78 cym 24/02/04-10:09:20,fwver: v1.16
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
Manufacturer ID:0x6
CH0 RX Vref:27.5%, TX Vref:22.8%,22.8%
CH1 RX Vref:29.3%, TX Vref:22.8%,23.8%
CH2 RX Vref:27.9%, TX Vref:23.8%,23.8%
CH3 RX Vref:29.3%, TX Vref:21.8%,21.8%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-gd1cf49135ee-220414-dirty #stephen (May 23 2024 - 19:39:28)
unrecognized JEDEC id bytes: 00, 00, 00
unknown raw ID 0 0 0
Trying to boot from MMC2
MMC: no card present
mmc_init: -123, time 0
spl: mmc init failed with error: -123
Trying to boot from MMC1
Trying fit image at 0x4000 sector
{##} Verified-boot: 0
{##} Checking atf-1 0x00040000 … sha256(a7d1d8d191…) + OK
{##} Checking uboot 0x00200000 … sha256(25a398ffe0…) + OK
{##} Checking fdt 0x0031e9f8 … sha256(5bee414074…) + OK
{##} Checking atf-2 0xff100000 … sha256(4b2065349b…) + OK
{##} Checking atf-3 0x000f0000 … sha256(aa71013e72…) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 83.553/241.637 ms
INFO: Preloader serial: 2
NOTICE: BL31: v2.3():v2.3-682-g4ca8a8422:derrick.huang, fwver: v1.45
NOTICE: BL31: Built : 10:11:21, Dec 27 2023
INFO: spec: 0x13
INFO: code: 0x88
INFO: ext 32k is not valid
INFO: ddr: stride-en 4CH
INFO: GICv3 without legacy support detected.
INFO: ARM GICv3 driver initialized in EL3
INFO: valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO: l3 cache partition cfg-0
INFO: system boots from cpu-hwid-0
INFO: disable memory repair
INFO: idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO: dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO: dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO: dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO: dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO: BL31: Initialising Exception Handling Framework
INFO: BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE init ialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR: Error initializing runtime service opteed_fast
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x200000
INFO: SPSR = 0x3c9
U-Boot 2017.09-gd1cf49135ee-220414-dirty #stephen (May 23 2024 - 19:39:28 +0800)
Model: Radxa ROCK 5B
MPIDR: 0x81000000
PreSerial: 2, raw, 0xfeb50000
DRAM: 16 GiB
Sysmem: init
Relocation Offset: eda3f000
Relocation fdt: eb9f96c0 - eb9fecc8
CR: M/C/I
Using default environment
DM: v2
mmc@fe2c0000: 1, mmc@fe2e0000: 0
Bootdev(assign): mmc 0
MMC0: HS400 Enhanced Strobe, 200Mhz
PartType: EFI
No misc partition
boot mode: None
FIT: No boot partition
Failed to load DTB, ret=-2
No valid DTB, ret=-22
Failed to get kernel dtb, ret=-22
Model: Radxa ROCK 5B
MPIDR: 0x81000000
CLK: (sync kernel. arm: enter 1008000 KHz, init 1008000 KHz, kernel 0N/A)
b0pll 24000 KHz
b1pll 24000 KHz
lpll 24000 KHz
v0pll 24000 KHz
aupll 24000 KHz
cpll 1500000 KHz
gpll 1188000 KHz
npll 24000 KHz
ppll 1100000 KHz
aclk_center_root 702000 KHz
pclk_center_root 100000 KHz
hclk_center_root 396000 KHz
aclk_center_low_root 500000 KHz
aclk_top_root 750000 KHz
pclk_top_root 100000 KHz
aclk_low_top_root 396000 KHz
Net: No ethernet found.
Hit key to stop autoboot(‘CTRL+C’): 0
starting USB…
No working controllers found
USB is stopped. Please issue ‘usb start’ first.
MMC: no card present
mmc_init: -123, time 0
Do you follow this guaid? CM5 dont have spi flash.
Hi, yes I have followed that guide, but I may have only followed it correctly on the second or third attempt (if that matters).
I am concerned that something is bricked or configured or partitioned wrong with respect to the eMMC, or that there is damage to the board. When I received it, I attached the cooler and thermal pad and screwed that on but realized the pcb was visibly bent from the pressure, so I undid the screws. I do know the eMMC storage holds something because it saved a .txt file on my desktop even after rewriting a stock image to the micro SD card.
- following the tutorial, can you recognize the Maskrom mode on rkdevtool? Do you have any logs when writing the image, can you post them
- you can boot the system with the sdcard and check if the emmc is functioning properly
Okay I appreciate the responses, I got the board booting from eMMC and figured out my silly mistake. In the instructions linked, I glazed over the hint block that says to decompress the image file before linking it in rkdevtool. I am fairly new to a lot of this and didn’t recognize that the default CM5 image XZ file type is compressed and different from the Windows.IsoFile file type (extracted) since both have a .img file extension. I think the instructions should probably list this a formal step to check instead of in a hint block, but I digress.
ok,good news.
please how can I boot it from sd card ? any help please