My zero can't boot, help!

This is my steps:
1.Install driver by zadig-2.7, choose libusb-win32, success !
2.Earse emmc by RZ_USB_Boot_Helper_V1.0.0.exe, choose rz-udisk-loader.bin, run , success, but won’t appear as a usb storage device; change to radxa-zero-erase-emmc.bin, run, success and found the usb storage device.
3.Flash emmc by Etcher-1.5.76, start in administrator mode, choose image(download fom https://wiki.radxa.com/Zero/downloads), choose usb device from step 3. Flash, success ! (Sometimes mistakes are reported, “Flash Faild !”, " Physical … i/o write …", I can’t remember exactly)
4.Unpluged power, restart, error:
this is log:

G12A:BL:0253b8:61aa2d;FEAT:E0F83180:2000;POC:F;RCY:0;EMMC:0;READ:0;0.0
                                                                      l2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:04000000
S1:00000000
B2:00002000
B1:e0f83180

TE: 136689

BL2 Built : 15:21:48, Aug 28 2019. g12a g1bf2b53 - luan.yuan@droid15-sz

Board ID = 2
Set cpu clk to 24M
Set clk81 to 24M
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 15:21:45
board id: 2
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
00000000
emmc switch 2 ok
fastboot data verify
verify result: 265
Cfg max: 2, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 792MHz
Load ddrfw from eMMC, src: 0x0003c200, des: 0xfffd0000, size: 0x0000c000, part: 0
00000000
emmc switch 0 ok

dmc_version 0000
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of Write leveling coarse delay
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Load ddrfw from eMMC, src: 0x00048200, des: 0xfffd0000, size: 0x0000c000, part: 0
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

channel==0
RxClkDly_Margin_A0==236 ps 12
TxDqDly_Margin_A0==236 ps 12
RxClkDly_Margin_A1==236 ps 12
TxDqDly_Margin_A1==236 ps 12
TrainedVREFDQ_A0==74
TrainedVREFDQ_A1==74
VrefDac_Margin_A0==24
DeviceVref_Margin_A0==40
VrefDac_Margin_A1==22
DeviceVref_Margin_A1==40


channel==1
RxClkDly_Margin_A0==216 ps 11
TxDqDly_Margin_A0==216 ps 11
RxClkDly_Margin_A1==236 ps 12
TxDqDly_Margin_A1==216 ps 11
TrainedVREFDQ_A0==74
TrainedVREFDQ_A1==74
VrefDac_Margin_A0==22
DeviceVref_Margin_A0==40
VrefDac_Margin_A1==24
DeviceVref_Margin_A1==40

 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004

soc_vref_reg_value 0x 00000015 00000014 00000014 00000015 00000013 00000013 00000015 00000015 00000014 00000016 00000014 00000                          013 00000013 00000015 00000014 00000015 00000015 00000015 00000014 00000016 00000016 00000014 00000017 00000015 00000017 00000                          014 00000016 00000017 00000015 00000012 00000012 00000015 dram_vref_reg_value 0x 0000005e
2D training succeed
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 13:53:31
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 2048MB
DMC_DDR_CTRL: 00e00024DDR size: 3928MB
cs0 DataBus test pass
cs1 DataBus test pass
cs0 AddrBus test pass
cs1 AddrBus test pass

100bdlr_step_size ps== 478
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x0006c200, des: 0x0175c000, size: 0x000ec000, part: 0
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3390-6ac5299 2019-09-26 14:09:46 luan.yuan@droid15-sz]
OPS=0x30
ring efuse init
28 0c 30 00 01 1d 29 00 00 01 35 38 37 43 46 50
[0.017150 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:57:33, May 22 2019
NOTICE:  BL31: G12A normal boot!
ERROR:   Error initializing runtime service opteed_fast


U-Boot 2021.07-24136-g50c984a15b (Jun 28 2022 - 21:00:58 +0800) radxa-zero

Model: Radxa Zero
SoC:   Amlogic Meson G12A (S905Y2) Revision 28:c (30:2)
DRAM:  3.8 GiB
MMC:   sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
Net:   Net Initialization Skipped
No ethernet found.
starting USB...
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
unable to select a mode : -5

Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-meson-u200
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-meson
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.
=>
G12A:BL:0253b8:61aa2d;FEAT:E0F83180:2000;POC:D;RCY:0;USB:0;0.0
                                                              bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:04000000
S1:00000000
B2:00002000
B1:e0f83180

TE: 15785205

BL2 Built : 15:21:48, Aug 28 2019. g12a g1bf2b53 - luan.yuan@droid15-sz

Board ID = 2
Set cpu clk to 24M
Set clk81 to 24M
CPU clk: 1200 MHz
Set clk81 to 166.6M
DDR driver_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 15:21:45
board id: 2
Cfg max: 2, cur: 1. Board id: 255. Force loop cfg
DATA transfer complete...
fw parse done
DATA transfer complete...
AML DDR FW load done
DATA transfer complete...
PIEI prepare done
LPDDR4 probe
ddr clk to 792MHz
DATA transfer complete...

dmc_version 0000
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of Write leveling coarse delay
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D init succeed
DATA transfer complete...
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

channel==0
RxClkDly_Margin_A0==236 ps 12
TxDqDly_Margin_A0==236 ps 12
RxClkDly_Margin_A1==216 ps 11
TxDqDly_Margin_A1==236 ps 12
TrainedVREFDQ_A0==74
TrainedVREFDQ_A1==74
VrefDac_Margin_A0==24
DeviceVref_Margin_A0==40
VrefDac_Margin_A1==23
DeviceVref_Margin_A1==40


channel==1
RxClkDly_Margin_A0==216 ps 11
TxDqDly_Margin_A0==216 ps 11
RxClkDly_Margin_A1==236 ps 12
TxDqDly_Margin_A1==236 ps 12
TrainedVREFDQ_A0==74
TrainedVREFDQ_A1==74
VrefDac_Margin_A0==24
DeviceVref_Margin_A0==40
VrefDac_Margin_A1==25
DeviceVref_Margin_A1==40

 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004

soc_vref_reg_value 0x 00000016 00000015 00000014 00000015 00000014 00000013 00000016 00000016 00000014 00000016 00000015 00000013 00000014 00000015 00000014 00000016 00000016 00000016 00000015 00000017 00000017 00000015 00000018 00000016 00000018 00000015 00000016 00000017 00000015 00000013 00000013 00000016 dram_vref_reg_value 0x 00000061
2D init succeed
ddr init done, boot next stage
result report
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_18 build time: Aug 28 2019 13:53:31
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 2048MB
DMC_DDR_CTRL: 00e00024DDR size: 3928MB
cs0 DataBus test pass
cs1 DataBus test pass
cs0 AddrBus test pass
cs1 AddrBus test pass
DATA transfer complete...
DATA transfer complete...
Data req end
DATA transfer complete...
RUN bl2 usb boot
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3390-6ac5299 2019-09-26 14:09:46 luan.yuan@droid15-sz]
OPS=0x30
ring efuse init
28 0c 30 00 01 1d 29 00 00 01 35 38 37 43 46 50
[0.017149 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:57:33, May 22 2019
NOTICE:  BL31: G12A normal boot!
ERROR:   Error initializing runtime service opteed_fast

<debug_uart>


U-Boot 2022.07-00006-g9cfab85fe (Sep 05 2022 - 19:01:11 +0800) radxa-zero

Model: Radxa Zero
SoC:   Amlogic Meson G12A (S905Y2) Revision 28:c (30:2)
DRAM:  3.8 GiB
Core:  383 devices, 23 uclasses, devicetree: separate
MMC:   sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
starting USB...
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
Enter ums mode. Press Ctrl+C to stop...
** Invalid partition 1 **
Couldn't find partition mmc 2
Something went wrong. Printing debugging info...
=> mmc list
sd@ffe03000: 0
sd@ffe05000: 1
mmc@ffe07000: 2 (eMMC)
=> ls mmc 0
Card did not respond to voltage select! : -110
** Bad device specification mmc 0 **
Couldn't find partition mmc 0
=> ls mmc 1
Card did not respond to voltage select! : -110
** Bad device specification mmc 1 **
Couldn't find partition mmc 1
=> ls mmc 2
** Invalid partition 1 **
Couldn't find partition mmc 2
You are now at U-Boot shell.
=>

Can you take picture on both sides of your boards so we can identify the hardware?

Of course.

this is my zero …

Is there any progress on that issue? I am having similar problem

UPD: The problem also is that the manual here and here aren’t clear enough, especially for a person who doesn’t do this often. There are few important steps missing. So, in order to make life easier for those who may have faced the same issue I’m leaving a short how-to below:

  1. You would need u-boot.bin and u-boot.bin.sd.bin. As this page says we need to flash u-boot.bin.sd.bin to eMMC, not u-boot.bin. However I flashed u-boot.bin successfully and it works as intended. :thinking: You can use either u-boot.bin or rz-fastboot-loader.bin or any other loader that gives you access to Zero’s eMMC. However, if you loading with rz-fastboot-loader.bin and using fastboot on your PC/Mac you may find that fastboot unlock and fastboot unlock_critical will not work. That is because of the difference in versions between loader and your PC/Mac, use a serial console instead to use the above commands if needed.

  2. Press “boot from USB” button on your board and connect the device to PC/Mac. Then type in cmd/terminal: boot-g12.py u-boot.bin
    Note: If you wish to just reflash OS on your eMMC keep pressing Ctrl+C in serial console to prevent the installed OS from booting.
    Note: serial console on mac: sudo cu -s 115200 -l /dev/tty.usbserial-0000. Check for active tty devices on your Mac/Linux with: ls /dev/tty.* before and replace tty.usbserial-0000 with the device you have connected.

  3. IF you’ve erased boot partitions already:

    fastboot flash mmc0boot0 bootloader.img
    fastboot flash mmc0boot1 bootloader.img
    fastboot flash mmc0 linux_distro.img

    you may need to use sudo to make it work. Also you can use just one boot partition, it’s not necessary to flash bootloader on both.

  4. IF an old bootloader is still on boot0 or boot1:
    4.1. Let’s first erase everything using the following sequence:

    fastboot erase mmc0
    fastboot erase mmc0boot0
    fastboot erase mmc0boot1

    you may need to use sudo to make it work.

    4.2. Now proceed with step 3, above.

  5. You are all set now. Reconnect the board and it should boot into linux_distro (ex.: DietPi_RadxaZero-ARMv8-Bullseye.img) that you flashed previously.

Note: Do not rush when doing fastboot erase mmc0, it may take a while. If the terminal looks frozen it’s doing its job, do not interrupt the operations just wait.

To wrap this up, this is what your terminal will display:

$ boot-g12.py u-boot.bin
Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing u-boot.bin at 0xfffa0000...
[DONE]
Running at 0xfffa0000...
[DONE]
AMLC dataSize=16384, offset=65536, seq=0...
[DONE]
AMLC dataSize=49152, offset=393216, seq=1...
[DONE]
AMLC dataSize=16384, offset=229376, seq=2...
[DONE]
AMLC dataSize=49152, offset=245760, seq=3...
[DONE]
AMLC dataSize=49152, offset=294912, seq=4...
[DONE]
AMLC dataSize=16384, offset=65536, seq=5...
[DONE]
AMLC dataSize=1362288, offset=81920, seq=6...
[DONE]
[BL2 END]
$ fastboot erase mmc0boot1
Erasing 'mmc0boot1'                                OKAY [  0.060s]
Finished. Total time: 0.133s
$ fastboot erase mmc0boot0
Erasing 'mmc0boot0'                                OKAY [  0.014s]
Finished. Total time: 0.034s
$ fastboot erase mmc0
Erasing 'mmc0'                                     
OKAY [177.756s]
Finished. Total time: 177.774s
$ fastboot flash mmc0boot0 u-boot.bin.sd.bin 
Sending 'mmc0boot0' (1410 KB)                      OKAY [  0.066s]
Writing 'mmc0boot0'                                OKAY [  0.071s]
Finished. Total time: 0.156s
$ fastboot flash mmc0 Armbian_23.02.1_Radxa-zero_jammy_current_6.1.14.img
Sending sparse 'mmc0' 1/17 (114684 KB)             OKAY [  5.007s]
Writing 'mmc0'                                     OKAY [ 11.435s]
Sending sparse 'mmc0' 2/17 (100652 KB)             OKAY [  4.390s]
Writing 'mmc0'                                     OKAY [  5.794s]
Sending sparse 'mmc0' 3/17 (113740 KB)             OKAY [  4.969s]
Writing 'mmc0'                                     OKAY [  6.469s]
Sending sparse 'mmc0' 4/17 (113384 KB)             OKAY [  4.952s]
Writing 'mmc0'                                     OKAY [  6.695s]
Sending sparse 'mmc0' 5/17 (114522 KB)             OKAY [  5.121s]
Writing 'mmc0'                                     OKAY [  6.957s]
Sending sparse 'mmc0' 6/17 (114684 KB)             OKAY [  5.005s]
Writing 'mmc0'                                     OKAY [  6.397s]
Sending sparse 'mmc0' 7/17 (114684 KB)             OKAY [  4.993s]
Writing 'mmc0'                                     OKAY [  6.600s]
Sending sparse 'mmc0' 8/17 (114684 KB)             OKAY [  5.006s]
Writing 'mmc0'                                     OKAY [  6.560s]
Sending sparse 'mmc0' 9/17 (114684 KB)             OKAY [  4.994s]
Writing 'mmc0'                                     OKAY [  7.619s]
Sending sparse 'mmc0' 10/17 (114401 KB)            OKAY [  5.003s]
Writing 'mmc0'                                     OKAY [  6.591s]
Sending sparse 'mmc0' 11/17 (114685 KB)            OKAY [  5.023s]
Writing 'mmc0'                                     OKAY [  6.610s]
Sending sparse 'mmc0' 12/17 (114684 KB)            OKAY [  5.011s]
Writing 'mmc0'                                     OKAY [  6.501s]
Sending sparse 'mmc0' 13/17 (113036 KB)            OKAY [  4.916s]
Writing 'mmc0'                                     OKAY [  6.508s]
Sending sparse 'mmc0' 14/17 (102908 KB)            OKAY [  4.487s]
Writing 'mmc0'                                     OKAY [  5.884s]
Sending sparse 'mmc0' 15/17 (114684 KB)            OKAY [  5.001s]
Writing 'mmc0'                                     OKAY [  8.948s]
Sending sparse 'mmc0' 16/17 (114120 KB)            OKAY [  4.975s]
Writing 'mmc0'                                     OKAY [  6.519s]
Sending sparse 'mmc0' 17/17 (104672 KB)            OKAY [  4.588s]
Writing 'mmc0'                                     OKAY [ 17.802s]
Finished. Total time: 214.513s

~ Hope this helps.

1 Like