Rock 3A NVME boot

did you make it work?

I managed to install u-boot on spi as below


but I still can’t boot from nvme, actually the blue LED turns on after a couple of seconds and stays on.

I can boot from micro SD and nvme disk is listed in lsblk

You need to have right version of u-boot, sometimes different for other distro
If You have UART then it’s easier to check what is going on console.

Coming back here after some months.
In the end, after my previous tentative (may 2022), where i got to flash spi and successfully boot to nvme, i put the board back in the box because i never got it working stable.
The board hanged after a couple of days with “PCIe link fail” or something like this.
After investigations, the kingston nvme was faulty (was not working correctly under windows either, after some time windows was hanging too).
Today i retried with a brand new samsung 870EVO, flashedwith the latest ubuntu available now.
This time i didn’g get it even to get to the nvme, it hangs with “PCIe link fail”, and a prompt to initramfs sohows up.

Powering it using a 12V 4A power supply soldered to a usb-c connector.

I don’t want to say it but i’m starting to get a little bit disappointed.

Any suggestion/reference on how to fix the pcie stuff?

Not every nvme is supported and that depends on SoC. I had similar issues with Rock5b with HP EX900 when it was working perfectly with Rock3A and Rock4C. Easiest way to solve that issue is to swap nvme to something different, I don’t expect that SOC will be updated to handle more drives soon, maybe for RK3588.

I cant boot from NVME.

I compiled U-boot for rock 3a from the latest source and flashed that to my device and it is unable to boot the latest ubuntu image.

If I keep the sd card in, it will boot from SD card but use the nvme as root fs, so the device has no problems accessing the nvme. As you can see below, the board has booted from sdcard with nvme as root fs

root@rock-3a:~# blkid
/dev/nvme0n1p2: LABEL="rootfs" UUID="147db13c-92fc-42ea-9e28-c815ad767e3c" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="9899f1e4-9d15-44e1-9f8f-45949e548489"
/dev/mmcblk1p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="39A5-F3E7" TYPE="vfat" PARTLABEL="boot" PARTUUID="cb3e335e-9b51-4b09-9399-34ae6a53d886"
/dev/mmcblk1p2: LABEL="rootfs" UUID="4356bf16-3f61-4abe-a4f0-9c78ca329280" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="3fcda367-2187-4986-a437-fc199dd522bb"
/dev/nvme0n1p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="7935-9F5A" TYPE="vfat" PARTLABEL="boot" PARTUUID="d6d2fadd-df82-4a80-b69e-ff6a0744140a"
root@rock-3a:~# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mtdblock0    31:0    0    16M  0 disk
mmcblk1     179:0    0  14.6G  0 disk
├─mmcblk1p1 179:1    0   512M  0 part
└─mmcblk1p2 179:2    0  14.1G  0 part
nvme0n1     259:0    0   477G  0 disk
├─nvme0n1p1 259:1    0   512M  0 part /boot
└─nvme0n1p2 259:2    0 476.4G  0 part /
root@rock-3a:~#

However, if I remove the sd card, u-boot does this;

In
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 48ps, dqs1: -96ps, dqs2: -72ps, dqs3: -144ps,
tdqss: cs1 dqs0: 48ps, dqs1: -72ps, dqs2: -72ps, dqs3: -120ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x61

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x36
cs 0:
the read training result:
DQS0:0x3a, DQS1:0x3d, DQS2:0x41, DQS3:0x3a,
min  : 0x8  0x8  0xa  0x8  0x1  0x2  0x6  0x1 , 0xa  0x8  0x4  0x2  0xd  0xa  0xb  0x8 ,
       0xe  0xd  0xb  0xa  0x5  0x1  0x3  0x5 , 0x9  0x6  0x6  0x1  0xe  0xb  0x9  0xd ,
mid  :0x25 0x25 0x27 0x25 0x1e 0x20 0x22 0x1f ,0x26 0x25 0x20 0x21 0x2a 0x27 0x29 0x25 ,
      0x2c 0x2c 0x2a 0x28 0x23 0x20 0x21 0x22 ,0x27 0x23 0x23 0x20 0x2b 0x29 0x28 0x2a ,
max  :0x42 0x42 0x44 0x43 0x3b 0x3e 0x3e 0x3d ,0x42 0x42 0x3c 0x40 0x48 0x45 0x47 0x43 ,
      0x4a 0x4b 0x49 0x46 0x42 0x3f 0x40 0x40 ,0x45 0x41 0x40 0x3f 0x48 0x48 0x47 0x48 ,
range:0x3a 0x3a 0x3a 0x3b 0x3a 0x3c 0x38 0x3c ,0x38 0x3a 0x38 0x3e 0x3b 0x3b 0x3c 0x3b ,
      0x3c 0x3e 0x3e 0x3c 0x3d 0x3e 0x3d 0x3b ,0x3c 0x3b 0x3a 0x3e 0x3a 0x3d 0x3e 0x3b ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x63 0x65 0x67 0x64 0x5b 0x5d 0x61 0x62 0x60 ,0x4f 0x4f 0x4a 0x4b 0x52 0x50 0x53 0x51 0x4f ,
      0x54 0x55 0x50 0x50 0x4b 0x49 0x4c 0x4f 0x50 ,0x4b 0x4a 0x48 0x46 0x4e 0x4e 0x4c 0x51 0x48 ,
mid  :0x7f 0x81 0x83 0x80 0x76 0x79 0x7c 0x7d 0x7a ,0x6c 0x6b 0x66 0x67 0x6f 0x6b 0x6e 0x6d 0x6b ,
      0x71 0x72 0x6d 0x6d 0x65 0x63 0x66 0x6a 0x6b ,0x67 0x63 0x62 0x60 0x69 0x6a 0x67 0x6c 0x61 ,
max  :0x9c 0x9d 0x9f 0x9d 0x92 0x95 0x98 0x98 0x95 ,0x8a 0x87 0x82 0x84 0x8c 0x87 0x89 0x89 0x87 ,
      0x8f 0x90 0x8a 0x8a 0x80 0x7d 0x81 0x86 0x87 ,0x84 0x7d 0x7d 0x7a 0x85 0x86 0x83 0x88 0x7b ,
range:0x39 0x38 0x38 0x39 0x37 0x38 0x37 0x36 0x35 ,0x3b 0x38 0x38 0x39 0x3a 0x37 0x36 0x38 0x38 ,
      0x3b 0x3b 0x3a 0x3a 0x35 0x34 0x35 0x37 0x37 ,0x39 0x33 0x35 0x34 0x37 0x38 0x37 0x37 0x33 ,
cs 1:
the read training result:
DQS0:0x3a, DQS1:0x3e, DQS2:0x41, DQS3:0x3a,
min  : 0x8  0x8  0xa  0x8  0x1  0x2  0x5  0x1 , 0x8  0x6  0x1  0x1  0xb  0x9  0x9  0x7 ,
       0xe  0xd  0xb  0xa  0x4  0x1  0x2  0x5 , 0x8  0x6  0x6  0x1  0xd  0xb  0x9  0xc ,
mid  :0x24 0x25 0x27 0x25 0x1d 0x1f 0x21 0x1e ,0x25 0x24 0x1f 0x21 0x2a 0x27 0x28 0x25 ,
      0x2b 0x2b 0x29 0x28 0x22 0x20 0x20 0x22 ,0x26 0x24 0x23 0x20 0x2a 0x29 0x28 0x2a ,
max  :0x41 0x42 0x44 0x43 0x3a 0x3d 0x3e 0x3c ,0x43 0x43 0x3d 0x41 0x49 0x46 0x48 0x43 ,
      0x49 0x4a 0x48 0x46 0x40 0x3f 0x3f 0x40 ,0x45 0x42 0x40 0x3f 0x48 0x48 0x47 0x48 ,
range:0x39 0x3a 0x3a 0x3b 0x39 0x3b 0x39 0x3b ,0x3b 0x3d 0x3c 0x40 0x3e 0x3d 0x3f 0x3c ,
      0x3b 0x3d 0x3d 0x3c 0x3c 0x3e 0x3d 0x3b ,0x3d 0x3c 0x3a 0x3e 0x3b 0x3d 0x3e 0x3c ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x64 0x66 0x67 0x65 0x5b 0x5e 0x62 0x63 0x61 ,0x52 0x52 0x4c 0x4e 0x56 0x53 0x56 0x56 0x52 ,
      0x55 0x56 0x52 0x51 0x4c 0x4a 0x4d 0x50 0x51 ,0x4f 0x4e 0x4c 0x4a 0x52 0x52 0x50 0x55 0x4c ,
mid  :0x81 0x83 0x84 0x82 0x78 0x7a 0x7e 0x7e 0x7c ,0x6f 0x6e 0x68 0x6a 0x72 0x6f 0x71 0x71 0x6d ,
      0x73 0x73 0x6f 0x6e 0x67 0x65 0x67 0x6b 0x6d ,0x6c 0x69 0x67 0x66 0x6e 0x6e 0x6b 0x71 0x66 ,
max  :0x9e 0xa0 0xa1 0x9f 0x95 0x97 0x9a 0x9a 0x97 ,0x8d 0x8a 0x85 0x87 0x8f 0x8b 0x8c 0x8d 0x89 ,
      0x91 0x91 0x8c 0x8c 0x83 0x80 0x82 0x87 0x89 ,0x89 0x84 0x82 0x82 0x8a 0x8a 0x87 0x8d 0x81 ,
range:0x3a 0x3a 0x3a 0x3a 0x3a 0x39 0x38 0x37 0x36 ,0x3b 0x38 0x39 0x39 0x39 0x38 0x36 0x37 0x37 ,
      0x3c 0x3b 0x3a 0x3b 0x37 0x36 0x35 0x37 0x38 ,0x3a 0x36 0x36 0x38 0x38 0x38 0x37 0x38 0x35 ,
CA Training result:
cs:0 min  :0x47 0x4a 0x41 0x40 0x40 0x3f 0x48 ,0x46 0x45 0x40 0x40 0x40 0x40 0x46 ,
cs:0 mid  :0x87 0x88 0x80 0x7e 0x7f 0x7d 0x79 ,0x87 0x84 0x7f 0x7d 0x7f 0x7e 0x77 ,
cs:0 max  :0xc8 0xc6 0xc0 0xbd 0xbf 0xbb 0xaa ,0xc8 0xc4 0xbf 0xba 0xbf 0xbc 0xa8 ,
cs:0 range:0x81 0x7c 0x7f 0x7d 0x7f 0x7c 0x62 ,0x82 0x7f 0x7f 0x7a 0x7f 0x7c 0x62 ,
cs:1 min  :0x46 0x4e 0x40 0x44 0x40 0x43 0x47 ,0x44 0x49 0x40 0x41 0x3f 0x41 0x45 ,
cs:1 mid  :0x88 0x89 0x82 0x80 0x81 0x7f 0x7a ,0x87 0x85 0x81 0x7d 0x81 0x7e 0x78 ,
cs:1 max  :0xcb 0xc5 0xc4 0xbd 0xc3 0xbb 0xae ,0xca 0xc1 0xc3 0xb9 0xc3 0xbb 0xab ,
cs:1 range:0x85 0x77 0x84 0x79 0x83 0x78 0x67 ,0x86 0x78 0x83 0x78 0x84 0x7a 0x66 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-g15c53b0f04-211223 #ubuntu (Mar 18 2023 - 00:33:50)
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 5
spl: mmc init failed with error: -110
Trying to boot from MTD2
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(efe8f997da...) + OK
## Checking uboot 0x00a00000 ... sha256(588ea7f0ca...) + OK
## Checking fdt 0x00b2e718 ... sha256(4bdde2de3f...) + OK
## Checking atf-2 0x00068000 ... sha256(c74277be28...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(47ed527f15...) + OK
## Checking atf-4 0xfdcc9000 ... sha256(990c53fc01...) + OK
## Checking atf-5 0x00066000 ... sha256(315a4195a9...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 654.441 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-181-gc9a647cae-dirty:xsf
NOTICE:  BL31: Built : 11:30:09, Oct 18 2022
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid
INFO:    dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. 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 = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-g15c53b0f04-211223 #ubuntu (Mar 18 2023 - 00:33:50 -0500)

Model: Radxa ROCK3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  7.7 GiB
Sysmem: init
Relocation Offset: ed34a000
Relocation fdt: eb9f73e0 - eb9fecc8
CR: M/C/I
Using default environment

Hotkey: ctrl+s
SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Bootdev(atags): mtd 2
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
## Unknown partition table type 0
PartType: <NULL>
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Headerd to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu init 900000 uV
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Model: Radxa ROCK3 Model A
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
rockchip_set_ethaddr: vendor_storage_write failed -5
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
rockchip_set_serialno: could not find efuse/otp device
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 816000 KHz
  dpll 528000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 1200000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 100000 KHz
  aclk_top_high 300000 KHz
  aclk_top_low 200000 KHz
  hclk_top 150000 KHz
  pclk_top 100000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
No misc partition
Net:   eth1: ethernet@fe010000
Hit key to stop autoboot('CTRL+C'):  0

Device 0: Vendor: 0x1987 Rev: SR3B47.1 Prod: 48790459800994
            Type: Hard Disk
            Capacity: 488386.3 MB = 476.9 GB (1000215216 x 512)
... is now current device
Scanning nvme 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
900 bytes read in 1 ms (878.9 KiB/s)
1:      kernel-4.19.193-67-rockchip-g450948183988
Retrieving file: /initrd.img-4.19.193-67-rockchip-g450948183988
reading /initrd.img-4.19.193-67-rockchip-g450948183988
9040177 bytes read in 14 ms (615.8 MiB/s)
Retrieving file: /vmlinuz-4.19.193-67-rockchip-g450948183988
reading /vmlinuz-4.19.193-67-rockchip-g450948183988
20987912 bytes read in 34 ms (588.7 MiB/s)
append: root=UUID=147db13c-92fc-42ea-9e28-c815ad767e3c earlyprintk console=ttyFIQ0,1500000n8 console=tty1 consoleblank=0 loglevel=7 panic=10 rootwait rw init=/sbin/init rootfstype=ext4 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 switolb=1 coherent_pool=1m
Retrieving file: /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/rk3568-rock-3a.dtb
reading /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/rk3568-rock-3a.dtb
150853 bytes read in 2 ms (71.9 MiB/s)
Retrieving file: /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-fiq-debugger-uart2m0.dtbo
reading /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-fiq-debugger-uart2m0.dtbo
513 bytes read in 1 ms (501 KiB/s)
Retrieving file: /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-can1-m0.dtbo
reading /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-can1-m0.dtbo
515 bytes read in 2 ms (251 KiB/s)
Retrieving file: /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-pwm8-m0-fan.dtbo
reading /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-pwm8-m0-fan.dtbo
382 bytes read in 1 ms (373 KiB/s)
Retrieving file: /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-disable-npu.dtbo
reading /dtbs/4.19.193-67-rockchip-g450948183988/rockchip/overlay/rk3568-disable-npu.dtbo
648 bytes read in 1 ms (632.8 KiB/s)
Fdt Ramdisk skip relocation
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
No misc partition
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
   reserving fdt memory region: addr=a100000 size=27000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
   Using Device Tree in place at 000000000a100000, end 000000000a129fff
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000)
Total: 4675.556 ms

Starting kernel ...

=>

If I do “nvme part” in uboot, it clearly has no issues reading the partitions, but still it will not boot. It gets to “Starting Kernel” and then falls back to uboot shell. Any ideas???

=> nvme part

Partition Map for NVMe device 0  --   Partition Type: EFI

Part    Start LBA       End LBA         Name
        Attributes
        Type GUID
        Partition GUID
  1     0x00008000      0x00107fff      "boot"
        attrs:  0x0000000000000000
        type:   c12a7328-f81f-11d2-ba4b-00a0c93ec93b
        guid:   d6d2fadd-df82-4a80-b69e-ff6a0744140a
  2     0x00108000      0x3b9e0b0f      "rootfs"
        attrs:  0x0000000000000000
        type:   0fc63daf-8483-4772-8e79-3d69d8477de4
        guid:   9899f1e4-9d15-44e1-9f8f-45949e548489
=>

I recommend you to use the spi uboot image from armbian because you have a wrong partition table.
https://mirrors.tuna.tsinghua.edu.cn/armbian/pool/main/l/linux-u-boot-rock-3a-edge/linux-u-boot-edge-rock-3a_23.02.2_arm64.deb

I flashed the recommended uboot binary to my spi. Different result but still wont boot

  0x2b 0x2b 0x29 0x27 0x22 0x20 0x20 0x22 ,0x27 0x24 0x23 0x20 0x2b 0x29 0x28 0x2a ,
max  :0x41 0x42 0x44 0x43 0x3b 0x3e 0x3e 0x3c ,0x43 0x43 0x3d 0x41 0x49 0x46 0x48 0x43 ,
  0x49 0x4a 0x49 0x45 0x41 0x3f 0x3f 0x40 ,0x46 0x42 0x41 0x3f 0x4a 0x49 0x48 0x48 ,
range:0x39 0x3a 0x3a 0x3b 0x3a 0x3c 0x39 0x3a ,0x3b 0x3d 0x3c 0x40 0x3f 0x3d 0x3f 0x3d ,
  0x3b 0x3d 0x3f 0x3b 0x3d 0x3e 0x3d 0x3b ,0x3e 0x3c 0x3b 0x3e 0x3e 0x3f 0x40 0x3c ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x63 0x66 0x66 0x64 0x5b 0x5e 0x61 0x62 0x60 ,0x52 0x51 0x4c 0x4e 0x55 0x53 0x56 0x55 0x51 ,
  0x55 0x56 0x51 0x51 0x4c 0x49 0x4d 0x50 0x51 ,0x4f 0x4d 0x4c 0x49 0x51 0x52 0x50 0x55 0x4c ,
mid  :0x80 0x83 0x83 0x81 0x78 0x7a 0x7d 0x7e 0x7b ,0x6f 0x6d 0x68 0x6a 0x71 0x6e 0x71 0x71 0x6d ,
  0x73 0x73 0x6e 0x6e 0x67 0x64 0x67 0x6b 0x6d ,0x6c 0x68 0x67 0x65 0x6d 0x6e 0x6b 0x71 0x66 ,
max  :0x9e 0xa0 0xa1 0x9e 0x95 0x97 0x9a 0x9a 0x97 ,0x8d 0x89 0x85 0x87 0x8e 0x8a 0x8c 0x8d 0x89 ,
  0x91 0x91 0x8c 0x8b 0x83 0x80 0x82 0x87 0x89 ,0x89 0x83 0x82 0x82 0x8a 0x8a 0x87 0x8d 0x80 ,
range:0x3b 0x3a 0x3b 0x3a 0x3a 0x39 0x39 0x38 0x37 ,0x3b 0x38 0x39 0x39 0x39 0x37 0x36 0x38 0x38 ,
  0x3c 0x3b 0x3b 0x3a 0x37 0x37 0x35 0x37 0x38 ,0x3a 0x36 0x36 0x39 0x39 0x38 0x37 0x38 0x34 ,
CA Training result:
cs:0 min  :0x47 0x49 0x41 0x40 0x40 0x3e 0x48 ,0x46 0x45 0x40 0x40 0x40 0x40 0x46 ,
cs:0 mid  :0x87 0x87 0x80 0x7e 0x7f 0x7c 0x79 ,0x87 0x84 0x7f 0x7d 0x7f 0x7e 0x77 ,
cs:0 max  :0xc8 0xc6 0xc0 0xbd 0xbf 0xbb 0xaa ,0xc8 0xc4 0xbf 0xba 0xbf 0xbd 0xa8 ,
cs:0 range:0x81 0x7d 0x7f 0x7d 0x7f 0x7d 0x62 ,0x82 0x7f 0x7f 0x7a 0x7f 0x7d 0x62 ,
cs:1 min  :0x46 0x4d 0x40 0x44 0x3f 0x43 0x47 ,0x44 0x48 0x40 0x41 0x3f 0x41 0x45 ,
cs:1 mid  :0x88 0x88 0x82 0x80 0x81 0x7e 0x7a ,0x86 0x84 0x81 0x7c 0x80 0x7d 0x78 ,
cs:1 max  :0xcb 0xc4 0xc4 0xbc 0xc3 0xba 0xad ,0xc9 0xc1 0xc3 0xb8 0xc2 0xba 0xab ,
cs:1 range:0x85 0x77 0x84 0x78 0x84 0x77 0x66 ,0x85 0x79 0x83 0x77 0x83 0x79 0x66 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-g15c53b0f04-211223 #ubuntu (Mar 18 2023 - 00:33:50)
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 5
spl: mmc init failed with error: -110
Trying to boot from MTD2
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Tabalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
No misc partition
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
Not fit magic
Trying fit image at 0x5000 sector
Not fit magic
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
# Reset the board to bootrom #

I just tried to flash the armbian kernel to nvme. It is a lot bigger than ubuntu. Now I get this

root@rock-3a:~# wget https://github.com/amazingfate/armbian-rock3a-images/releases/download/20230118-1601/Armbian_23.02.0-trunk_Rock-3a_sid_edge_6.1.7_gnome_desktop.img.xz
Armbian_23.02.0-tru 100%[===================>]   1.06G  4.84MB/s    in 4m 11s
root@rock-3a:~# unxz Armbian_23.02.0-trunk_Rock-3a_sid_edge_6.1.7_gnome_desktop.img.xz
root@rock-3a:~# dd if=Armbian_23.02.0-trunk_Rock-3a_sid_edge_6.1.7_gnome_desktop.img of=/dev/nvme0n1 bs=1M
[ 2012.629832] print_req_error: protection error, dev nvme0n1, sector 2673152
[ 2012.629921] Buffer I/O error on dev nvme0n1, logical block 334144, lost async page write
[ 2012.629953] Buffer I/O error on dev nvme0n1, logical block 334145, lost async page write
[ 2012.629969] Buffer I/O error on dev nvme0n1, logical block 334146, lost async page write
[ 2012.629983] Buffer I/O error on dev nvme0n1, logical block 334147, lost async page write
[ 2012.629997] Buffer I/O error on dev nvme0n1, logical block 334148, lost async page write
[ 2012.630011] Buffer I/O error on dev nvme0n1, logical block 334149, lost async page write
[ 2012.630024] Buffer I/O error on dev nvme0n1, logical block 334150, lost async page write
[ 2012.630039] Buffer I/O error on dev nvme0n1, logical block 334151, lost async page write
[ 2012.630057] Buffer I/O error on dev nvme0n1, logical block 334152, lost async page write
[ 2012.630085] Buffer I/O error on dev nvme0n1, logical block 334153, lost async page write
[ 2012.656530] print_req_error: protection error, dev nvme0n1, sector 2673664
[ 2012.691761] print_req_error: protection error, dev nvme0n1, sector 2674176
[ 2012.736074] print_req_error: protection error, dev nvme0n1, sector 2674688
[ 2012.738471] print_req_error: protection error, dev nvme0n1, sector 2675200
5280+0 records in
5280+0 records out
5536481280 bytes (5.5 GB, 5.2 GiB) copied, 18.8817 s, 293 MB/s
root@rock-3a:~#

I think the NVME boot code in uboot is too old for newer NVME devices or the device is just bad at NVME??.

Can Radxa update uboot???

If I flash my self compiled uboot binary from latest Rock3A repo, at least something is happening. It reads a lot of stuff but doesnt actually boot the kernel

GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
No misc partition
Net:   eth1: ethernet@fe010000
Hit key to stop autoboot('CTRL+C'):  0

Device 0: Vendor: 0x1987 Rev: SR3B47.1 Prod: 48790459800994
            Type: Hard Disk
            Capacity: 488386.3 MB = 476.9 GB (1000215216 x 512)
... is now current device
Scanning nvme 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
3252 bytes read in 0 ms
## Executing script at 00c00000
Boot script loaded from nvme 0
reading /armbianEnv.txt
150 bytes read in 0 ms
reading /uInitrd
24199356 bytes read in 39 ms (591.8 MiB/s)
reading /Image
29096448 bytes read in 43 ms (645.3 MiB/s)
reading /dtb/rockchip/rk3568-rock-3a.dtb
118030 bytes read in 1 ms (112.6 MiB/s)
** Unable to read file /dtb/rockchip/overlay/rk35xx-fixup.scr **
Unknown command 'kaslrseed' - try 'help'
Fdt Ramdisk skip relocation
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
No misc partition
## Loading init Ramdisk from Legacy Image at 0a200000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    24199292 Bytes = 23.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
   reserving fdt memory region: addr=a100000 size=83000
   Using Device Tree in place at 000000000a100000, end 000000000a185fff
can't found rockchip,drm-logo, use rockchip,fb-logo
WARNING: could not set reg FDT_ERR_BADOFFSET.
failed to reserve fb-loader-logo memory
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000)
Total: 4808.554 ms

Starting kernel ...
=> <INTERRUPT>

Hi there,

Is the docs still supposed to work ? https://wiki.radxa.com/Rock3/install/spi

I follow the steps and it seems to work fine, I can see the u-boot change from the serial console but nvme drive not detected, I test two different one, a kingspec and a kingston using the u-boot images provided in the docs).

Someone get this work recently ?

DDR Version V1.10 20210810
In
ddrconfig:0
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=2048MB
tdqss: cs0 dqs0: -24ps, dqs1: -120ps, dqs2: -96ps, dqs3: -217ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x64

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x49
cs 0:
the read training result:
DQS0:0x3c, DQS1:0x3b, DQS2:0x40, DQS3:0x38,
min  : 0xd  0xc  0xe  0xc  0x1  0x4  0x7  0x3 , 0x9  0x8  0x1  0x3  0x7  0x7  0xb  0x5 ,
      0x11 0x11  0xc  0xb  0x4  0x1  0x5  0x5 , 0x8  0x6  0x4  0x1  0xb  0xb  0x9  0x9 ,
mid  :0x2b 0x2a 0x2b 0x2a 0x1f 0x22 0x25 0x21 ,0x27 0x26 0x1f 0x21 0x27 0x26 0x28 0x23 ,
      0x2f 0x2f 0x2a 0x2a 0x24 0x21 0x23 0x25 ,0x27 0x25 0x23 0x1f 0x29 0x29 0x27 0x27 ,
max  :0x49 0x49 0x49 0x48 0x3e 0x40 0x43 0x40 ,0x46 0x45 0x3e 0x40 0x48 0x45 0x45 0x42 ,
      0x4e 0x4e 0x49 0x49 0x45 0x41 0x42 0x45 ,0x46 0x45 0x42 0x3e 0x48 0x47 0x46 0x46 ,
range:0x3c 0x3d 0x3b 0x3c 0x3d 0x3c 0x3c 0x3d ,0x3d 0x3d 0x3d 0x3d 0x41 0x3e 0x3a 0x3d ,
      0x3d 0x3d 0x3d 0x3e 0x41 0x40 0x3d 0x40 ,0x3e 0x3f 0x3e 0x3d 0x3d 0x3c 0x3d 0x3d ,
the write training result:
DQS0:0x46, DQS1:0x39, DQS2:0x3d, DQS3:0x2c,
min  :0x63 0x65 0x66 0x65 0x58 0x59 0x5d 0x5e 0x5b ,0x56 0x56 0x51 0x51 0x57 0x54 0x56 0x57 0x52 ,
      0x5f 0x5f 0x5a 0x5a 0x54 0x50 0x52 0x57 0x55 ,0x4d 0x4d 0x4a 0x49 0x50 0x4f 0x4c 0x51 0x47 ,
mid  :0x80 0x82 0x82 0x81 0x75 0x76 0x79 0x7a 0x78 ,0x73 0x72 0x6d 0x6d 0x74 0x70 0x72 0x72 0x6e ,
      0x7c 0x7c 0x76 0x76 0x70 0x6d 0x6e 0x72 0x71 ,0x69 0x68 0x65 0x63 0x6c 0x6c 0x68 0x6d 0x64 ,
max  :0x9d 0x9f 0x9f 0x9d 0x92 0x94 0x96 0x96 0x95 ,0x90 0x8f 0x89 0x8a 0x91 0x8d 0x8f 0x8e 0x8b ,
      0x99 0x99 0x92 0x92 0x8d 0x8b 0x8b 0x8e 0x8e ,0x86 0x84 0x80 0x7e 0x89 0x8a 0x85 0x8a 0x81 ,
range:0x3a 0x3a 0x39 0x38 0x3a 0x3b 0x39 0x38 0x3a ,0x3a 0x39 0x38 0x39 0x3a 0x39 0x39 0x37 0x39 ,
      0x3a 0x3a 0x38 0x38 0x39 0x3b 0x39 0x37 0x39 ,0x39 0x37 0x36 0x35 0x39 0x3b 0x39 0x39 0x3a ,
CA Training result:
cs:0 min  :0x4e 0x47 0x46 0x3e 0x45 0x3b 0x48 ,0x4d 0x43 0x46 0x3c 0x46 0x3a 0x48 ,
cs:0 mid  :0x8a 0x89 0x82 0x7f 0x81 0x7e 0x72 ,0x88 0x85 0x80 0x7e 0x80 0x7d 0x73 ,
cs:0 max  :0xc6 0xcc 0xbf 0xc1 0xbd 0xc1 0x9d ,0xc4 0xc8 0xba 0xc0 0xba 0xc1 0x9e ,
cs:0 range:0x78 0x85 0x79 0x83 0x78 0x86 0x55 ,0x77 0x85 0x74 0x84 0x74 0x87 0x56 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-gef9f6b1caad-211223 #stephen (Sep 24 2022 - 17:13:02)
unrecognized JEDEC id bytes: ef, 80, 18
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 4
spl: mmc init failed with error: -110
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
# Reset the board to bootrom #

(I can get the nvme drive working if I boot from the sdcard, and configure the mount options, so I suppose only u-boot is not detecting my nvme, did it need some specific nvme drive ?)

Boot from sd card and test Your nvme - some are problematic, don’t show up, or cause problems on read/write operations. If it don’t show up in system then it won’t boot from it either.
If it’s ok then You need right u-boot and system installation, armbian prepares some easy scripts to move system to nvme and boot from it, but they also don’t work at 100% and for every distro (ubuntu is probably more tested than debian). Anything You decide to try - that should give You idea if booting is possible.
Then try same thing with You choice of OS. You will need u-boot with nvme support in spi, and this may be different for selected OS. For some errors You can boot from u-boot console and then put them in startup script, but it’s just easier to find right u-boot.
I’ve got my two rock 3A booting from nvme somewhere about end of year.

Hello, yes I tried Armbian, followed the same steps, same result. I managed to configure it by using a mix of the /boot/armbianEnv.txt file and my fstab to have a complete “boot” from the NVMe storage. But without the SD card, the board doesn’t start. I suppose that u-boot is looking for the boot partition on the SD card and once the kernel is launched, it switches to the NVMe… I don’t know how to boot from the u-boot console to try commands, as I have never worked with u-boot before.

Have You tried armbian - ubuntu or debian?
Have You tried with armbian installation script? It should update spi with right values, at least with ubuntu.
did nvme show up in system and was stable on i/o? with no errors on dmesg?

Ubuntu one. With the installation script.

But even after that the board doesn’t boot from nvme directly (SPL: failed to boot from all boot devices).

At this time I run on the nvme drive (modifying fstab and armbianEnv.txt) and it is stable, I mean no issue from the drive and nothing related with dmesg but I need to keep the original sdcard inside the board :frowning:. This is why I suspect the problem only come from the u-boot configuration

(from my post on armbian forum)

root@rock-3a:~# blkid
/dev/nvme0n1p1: SEC_TYPE="msdos" LABEL_FATBOOT="armbi_boot" LABEL="armbi_boot" UUID="5F4E-9DB1" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="651eafa5-90c1-b34a-88be-6db5e1c4611c"
/dev/nvme0n1p2: LABEL="armbi_root" UUID="22edd9bc-4fdb-4f15-9080-c8acf5084fc1" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="eb6a0463-83fa-254b-a7bd-e703cd9c5e2a"
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL_FATBOOT="armbi_boot" LABEL="armbi_boot" UUID="5F4E-9DB1" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="651eafa5-90c1-b34a-88be-6db5e1c4611c"
/dev/mmcblk0p2: LABEL="armbi_root" UUID="6ce28e93-ed91-46ae-9035-701bfe34a5fd" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="9e4b479e-7ebe-e64e-b580-511346abdf58"
/dev/zram0: UUID="8a6ccc03-1293-45e2-bd5a-b367fb0b53d0" TYPE="swap"
/dev/zram1: LABEL="log2ram" UUID="2c5f8064-5636-4c8f-9548-e2c801d94754" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mtdblock0: PTUUID="ce22cf47-be9f-48cd-8ff4-cba055568687" PTTYPE="gpt"

root@rock-3a:~# cat /boot/armbian
armbianEnv.txt                  armbian_first_run.txt.template
root@rock-3a:~# cat /boot/armbianEnv.txt
verbosity=1
bootlogo=false
overlay_prefix=rk35xx
fdtfile=rockchip/rk3568-rock-3a.dtb
rootdev=UUID=22edd9bc-4fdb-4f15-9080-c8acf5084fc1
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

root@rock-3a:~# cat /etc/fstab
UUID=6ce28e93-ed91-46ae-9035-701bfe34a5fd / ext4 defaults,noatime,commit=600,errors=remount-ro 0 1
UUID=5F4E-9DB1 /boot vfat defaults 0 2
tmpfs /tmp tmpfs defaults,nosuid 0 0

root@rock-3a:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           199M  8.5M  190M   5% /run
/dev/nvme0n1p2  116G  1.9G  113G   2% /
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           991M     0  991M   0% /tmp
/dev/nvme0n1p1  256M  118M  139M  46% /boot
/dev/zram1       47M  1.1M   43M   3% /var/log
tmpfs           199M     0  199M   0% /run/user/0

Hello,

My NVMe is connected in a RK3399 RADXA ROCK Pi 4 development board dedicated V1.6 version M.2 extended version steering board.
In order to boot from the NVMe, I downloaded the latest Armbian Bookworm Current Minimal and wrote it on an SD card using Balena.
For some reason, I cannot get anything on the HDMI port so I used this UART-USB Adapter.
After connecting to the console via minicom, I downloaded the above image and then wrote it to the NVMe using dd

 dd if=Armbian_23.5.1_Rock-3a_bookworm_current_6.1.30_minimal.img of=/dev/nvme0n1 bs=1M

Then I ran “armbian-install” and selected option 7: “Install/Update the bootloader on MDT Flash”.
Shutdown the rock, remove the SD card, and it boots from the NVMe.

Here is my output for “lsblk” and “df”:
rock-3a:~:# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mtdblock0 31:0 0 16M 0 disk
zram0 251:0 0 3.8G 0 disk [SWAP]
zram1 251:1 0 50M 0 disk /var/log
zram2 251:2 0 0B 0 disk
nvme0n1 259:0 0 232.9G 0 disk
├─nvme0n1p1 259:1 0 256M 0 part /boot
└─nvme0n1p2 259:2 0 230.3G 0 part /var/log.hdd
/
rock-3a:~:# df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.7G 0 3.7G 0% /dev
tmpfs 770M 9.0M 761M 2% /run
/dev/nvme0n1p2 227G 1.4G 224G 1% /
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /tmp
/dev/nvme0n1p1 256M 67M 190M 27% /boot
/dev/zram1 47M 1.5M 42M 4% /var/log
tmpfs 770M 0 770M 0% /run/user/0
tmpfs 770M 0 770M 0% /run/user/1000

Best Regards,

Stefanita Vilcu

Hi there,is this https://wiki.radxa.com/Rock3/install/spi the right version of u-boot for android 11??Because i got the same problem,i cannot boot from NVME, the blue led is on but no boot!!?