Armbian for Rock 3A (unofficial build) with mainline kernel 5.17

Finally, I’ve built an image that support gpu(panfrost driver), usb and pciex2.
Gpu and usb support have been merged into armbian repo. Sine pciex4 is not supported, I haven’t create the pull request which support pciex2.
Now the image I’ve built is uploaded to cowtransfer and github release. Cowtransfer is for China mainland download.

Known Issues:
1, This image doesn’t support suspend well. You have to disable suspend in gdm and gnome desktop:

a, To disable suspend of gdm, edit /etc/gdm3/greeter.dconf-defaults, find the line #sleep-inactive-ac-type='suspend',change it to sleep-inactive-ac-type='nothing'
b, To disable suspend of gnome desktop, go to Settings > Power, change Automatic Suspend to off.

2, This image doesn’t support M.2 M slot, so NVME SSD is not supported.

3, Sometimes nvme wifi card could not get detected, command echo 1 > /sys/bus/pci/rescan can help.

Update 20220517:
I make daily build images on github : https://github.com/amazingfate/armbian-rock3a-images/releases.
Gnome use lightdm by default so there are no more suspend issues.
Pcie3x2 slot is supported, so NVME SSD is supported.

3 Likes

I am very grateful for this solution.Thanks.
I just wanted to try it with Kernel Ver5.

However, booting from the SD card was successful, but after apt update, it no longer boots.
Also, even if I write to emmc, it does not boot.
The log will be posted separately.

If you have any idea, please give me some advice.

Very grateful for this.
Does this image support NPU driver and GPU driver?

NPU is not supported, GPU is supported by panfrost driver.

You can try the latest image build on github workflow: https://github.com/amazingfate/armbian-rock3a-images/releases/tag/main-fb14c44c

great work! We will work with Armbian officially as well, pushing ROCK 3A with better Armbian support.

Can’t boot armbian.
stop “Starting kernel …” message.
Blue led run 2 times flashing.

WriteTool:balenaEthcr
Image:Armbian_22.05.0-trunk_Rock-3a_sid_edge_5.17.1_gnome_desktop.img.xz
WriteStrage:emmc(16G)

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: 72ps, dqs1: -24ps, dqs2: -24ps, 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:0x60

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: 1560MHz(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:0x17
cs 0:
the read training result:
DQS0:0x32, DQS1:0x33, DQS2:0x36, DQS3:0x2d,
min  : 0xf  0xf 0x12  0xc  0x2  0x5  0x7  0x5 , 0xa  0x8  0x3  0x1  0xc  0xa  0xd  0x8 ,
      0x14 0x13  0xf  0xe  0x5  0x1  0x5  0x7 , 0xd  0xa  0x8  0x3  0xf  0xf  0xd  0xf ,
mid  :0x28 0x28 0x29 0x25 0x1a 0x1e 0x20 0x1e ,0x25 0x23 0x1e 0x1b 0x25 0x24 0x27 0x21 ,
      0x2e 0x2d 0x29 0x28 0x1f 0x1c 0x1e 0x20 ,0x25 0x22 0x20 0x1c 0x27 0x28 0x26 0x27 ,
max  :0x42 0x42 0x41 0x3f 0x33 0x37 0x3a 0x38 ,0x40 0x3f 0x39 0x36 0x3f 0x3f 0x41 0x3b ,
      0x48 0x48 0x43 0x42 0x39 0x38 0x37 0x3a ,0x3d 0x3a 0x39 0x35 0x3f 0x42 0x3f 0x40 ,
range:0x33 0x33 0x2f 0x33 0x31 0x32 0x33 0x33 ,0x36 0x37 0x36 0x35 0x33 0x35 0x34 0x33 ,
      0x34 0x35 0x34 0x34 0x34 0x37 0x32 0x33 ,0x30 0x30 0x31 0x32 0x30 0x33 0x32 0x31 ,
the write training result:
DQS0:0x25, DQS1:0x13, DQS2:0x13, DQS3:0x0,
min  :0x7f 0x83 0x83 0x7e 0x6f 0x76 0x77 0x78 0x73 ,0x68 0x65 0x5e 0x5d 0x69 0x6a 0x68 0x67 0x61 ,
      0x68 0x69 0x63 0x5e 0x54 0x54 0x54 0x5b 0x59 ,0x52 0x4f 0x4d 0x49 0x53 0x54 0x50 0x56 0x4a ,
mid  :0x9a 0x9c 0x9d 0x98 0x8a 0x90 0x92 0x91 0x8d ,0x81 0x80 0x77 0x77 0x84 0x81 0x81 0x7f 0x7b ,
      0x84 0x84 0x7c 0x7a 0x70 0x6e 0x6f 0x76 0x75 ,0x6c 0x6a 0x67 0x63 0x6f 0x70 0x6b 0x71 0x66 ,
max  :0xb6 0xb6 0xb8 0xb3 0xa5 0xab 0xad 0xaa 0xa8 ,0x9b 0x9b 0x91 0x92 0xa0 0x98 0x9a 0x98 0x95 ,
      0xa1 0xa0 0x96 0x96 0x8c 0x88 0x8b 0x91 0x91 ,0x87 0x86 0x82 0x7d 0x8c 0x8c 0x87 0x8c 0x82 ,
range:0x37 0x33 0x35 0x35 0x36 0x35 0x36 0x32 0x35 ,0x33 0x36 0x33 0x35 0x37 0x2e 0x32 0x31 0x34 ,
      0x39 0x37 0x33 0x38 0x38 0x34 0x37 0x36 0x38 ,0x35 0x37 0x35 0x34 0x39 0x38 0x37 0x36 0x38 ,
CA Training result:
cs:0 min  :0x4e 0x49 0x45 0x3b 0x43 0x39 0x4f ,0x4c 0x46 0x42 0x39 0x40 0x38 0x4c ,
cs:0 mid  :0x89 0x8a 0x7e 0x7c 0x7e 0x79 0x79 ,0x88 0x84 0x7c 0x78 0x7b 0x78 0x77 ,
cs:0 max  :0xc4 0xcc 0xb8 0xbe 0xba 0xb9 0xa3 ,0xc5 0xc3 0xb6 0xb8 0xb6 0xb8 0xa2 ,
cs:0 range:0x76 0x83 0x73 0x83 0x77 0x80 0x54 ,0x79 0x7d 0x74 0x7f 0x76 0x80 0x56 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-armbian (Apr 03 2022 - 15:08:59)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
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
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(2f01bd8955...) + OK
## Checking uboot 0x00a00000 ... sha256(4aedd7f2ee...) + OK
## Checking fdt 0x00b2ea70 ... sha256(c721e0d639...) + OK
## Checking atf-2 0xfdcc9000 ... sha256(f1fecab971...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(d7aa45eb18...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 210.453 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-152-g4e725b15f:cl
NOTICE:  BL31: Built : 10:51:13, Jul 15 2021
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= 1560MHz
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-armbian (Apr 03 2022 - 15:08:59 +0000)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  2 GiB
Sysmem: init
Relocation Offset: 7d34a000
Relocation fdt: 7b9f7740 - 7b9fecd0
CR: M/C/I
Using default environment

PCIe-0 Link Fail
dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 0
MMC0: HS200, 200Mhz
PartType: DOS
No misc partition
boot mode: None
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu 1025000 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 ROCK 3 Model A
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 780000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 24000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 50000 KHz
  aclk_top_high 300000 KHz
  aclk_top_low 200000 KHz
  hclk_top 150000 KHz
  pclk_top 50000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
No misc partition
Net:   No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0
failed to find reset-gpios property

Device 0: unknown device
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3185 bytes read in 102 ms (30.3 KiB/s)
## Executing script at 00c00000
Boot script loaded from mmc 0
151 bytes read in 86 ms (1000 Bytes/s)
12695840 bytes read in 256 ms (47.3 MiB/s)
30566912 bytes read in 317 ms (92 MiB/s)
114831 bytes read in 408 ms (274.4 KiB/s)
** File not found /boot/dtb/rockchip/overlay/rk35xx-fixup.scr **
Fdt Ramdisk skip relocation
No misc partition
## Loading init Ramdisk from Legacy Image at 0a200000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    12695776 Bytes = 12.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=82000
   Using Device Tree in place at 000000000a100000, end 000000000a184fff
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 - 0x80000000 (size: 0x7fe00000)
Total: 3788.835 ms

Starting kernel ...

I haven’t tried armbian on emmc,but refering to the document direct flashing may not work:
https://docs.armbian.com/User-Guide_Getting-Started/#how-to-install-to-emmc-nand-sata-usb

Thank you for your attention.

I haven’t tried armbian on emmc,

I thought there was a possibility. I tried the referral URL, but it doesn’t recognize emmc when booting from SD. There may be some steps, but if anyone knows, please let me know.

I installed it from an SD card and it worked.

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: 72ps, dqs1: -48ps, dqs2: -48ps, 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:0x60

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: 1560MHz(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:0x17
cs 0:
the read training result:
DQS0:0x33, DQS1:0x32, DQS2:0x35, DQS3:0x2d,
min  : 0xf  0xf 0x12  0xe  0x1  0x6  0x8  0x4 , 0xa  0x8  0x3  0x1  0xb  0xa  0xc  0x7 ,
      0x13 0x12  0xe  0xd  0x5  0x2  0x4  0x5 , 0xb  0x8  0x9  0x2  0xf 0x11  0xc  0xe ,
mid  :0x29 0x28 0x2b 0x27 0x1b 0x20 0x22 0x1e ,0x26 0x23 0x1d 0x1c 0x27 0x25 0x27 0x22 ,
      0x2e 0x2d 0x28 0x27 0x1f 0x1c 0x1e 0x20 ,0x25 0x21 0x21 0x1b 0x28 0x2a 0x25 0x28 ,
max  :0x44 0x42 0x44 0x41 0x36 0x3b 0x3c 0x38 ,0x42 0x3f 0x38 0x37 0x43 0x41 0x42 0x3e ,
      0x4a 0x49 0x42 0x41 0x39 0x37 0x39 0x3c ,0x3f 0x3b 0x3a 0x35 0x41 0x43 0x3f 0x42 ,
range:0x35 0x33 0x32 0x33 0x35 0x35 0x34 0x34 ,0x38 0x37 0x35 0x36 0x38 0x37 0x36 0x37 ,
      0x37 0x37 0x34 0x34 0x34 0x35 0x35 0x37 ,0x34 0x33 0x31 0x33 0x32 0x32 0x33 0x34 ,
the write training result:
DQS0:0x25, DQS1:0xe, DQS2:0xe, DQS3:0x0,
min  :0x76 0x79 0x7b 0x74 0x68 0x6c 0x6e 0x6f 0x6c ,0x5c 0x59 0x52 0x51 0x5c 0x59 0x5c 0x5a 0x54 ,
      0x61 0x61 0x5c 0x5a 0x50 0x4f 0x50 0x57 0x55 ,0x50 0x4f 0x4c 0x48 0x53 0x53 0x51 0x56 0x4a ,
mid  :0x93 0x95 0x96 0x90 0x83 0x87 0x8a 0x89 0x87 ,0x77 0x75 0x6c 0x6b 0x78 0x74 0x76 0x74 0x6f ,
      0x7d 0x7c 0x76 0x75 0x6c 0x6a 0x6a 0x71 0x71 ,0x6b 0x6a 0x66 0x62 0x6e 0x6f 0x6b 0x71 0x65 ,
max  :0xb0 0xb2 0xb2 0xac 0x9e 0xa2 0xa7 0xa4 0xa2 ,0x93 0x91 0x87 0x85 0x94 0x8f 0x91 0x8e 0x8b ,
      0x9a 0x98 0x91 0x91 0x89 0x85 0x85 0x8c 0x8d ,0x87 0x85 0x81 0x7c 0x89 0x8c 0x86 0x8c 0x81 ,
range:0x3a 0x39 0x37 0x38 0x36 0x36 0x39 0x35 0x36 ,0x37 0x38 0x35 0x34 0x38 0x36 0x35 0x34 0x37 ,
      0x39 0x37 0x35 0x37 0x39 0x36 0x35 0x35 0x38 ,0x37 0x36 0x35 0x34 0x36 0x39 0x35 0x36 0x37 ,
CA Training result:
cs:0 min  :0x4a 0x48 0x40 0x3e 0x42 0x39 0x4c ,0x4b 0x46 0x44 0x3c 0x40 0x39 0x4c ,
cs:0 mid  :0x87 0x88 0x7c 0x7d 0x7d 0x78 0x78 ,0x89 0x86 0x7d 0x7b 0x7a 0x79 0x77 ,
cs:0 max  :0xc5 0xc8 0xb8 0xbd 0xb8 0xb8 0xa5 ,0xc7 0xc6 0xb7 0xbb 0xb4 0xba 0xa3 ,
cs:0 range:0x7b 0x80 0x78 0x7f 0x76 0x7f 0x59 ,0x7c 0x80 0x73 0x7f 0x74 0x81 0x57 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-armbian (Apr 20 2022 - 08:51:07)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
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
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(2f01bd8955...) + OK
## Checking uboot 0x00a00000 ... sha256(f5eb6de33e...) + OK
## Checking fdt 0x00b2ea70 ... sha256(c721e0d639...) + OK
## Checking atf-2 0xfdcc9000 ... sha256(f1fecab971...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(d7aa45eb18...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 210.481 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-152-g4e725b15f:cl
NOTICE:  BL31: Built : 10:51:13, Jul 15 2021
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= 1560MHz
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-armbian (Apr 20 2022 - 08:51:07 +0000)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  2 GiB
Sysmem: init
Relocation Offset: 7d34a000
Relocation fdt: 7b9f7740 - 7b9fecd0
CR: M/C/I
Using default environment

PCIe-0 Link Fail
dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 0
MMC0: HS200, 200Mhz
PartType: DOS
No misc partition
boot mode: None
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu 1025000 uV
PMIC:  RK8090 (on=0x02, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Model: Radxa ROCK 3 Model A
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 780000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 24000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 50000 KHz
  aclk_top_high 300000 KHz
  aclk_top_low 200000 KHz
  hclk_top 150000 KHz
  pclk_top 50000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
No misc partition
Net:   No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0
failed to find reset-gpios property

Device 0: unknown device
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 9
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3185 bytes read in 105 ms (29.3 KiB/s)
## Executing script at 00c00000
Boot script loaded from mmc 0
201 bytes read in 51 ms (2.9 KiB/s)
16312314 bytes read in 254 ms (61.2 MiB/s)
30693888 bytes read in 303 ms (96.6 MiB/s)
114283 bytes read in 459 ms (242.2 KiB/s)
** File not found /boot/dtb/rockchip/overlay/rk35xx-fixup.scr **
Fdt Ramdisk skip relocation
No misc partition
## Loading init Ramdisk from Legacy Image at 0a200000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    16312250 Bytes = 15.6 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=82000
   Using Device Tree in place at 000000000a100000, end 000000000a184fff
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 - 0x80000000 (size: 0x7fe00000)
Total: 3896.971 ms

Starting kernel ...


Armbian 22.05.0-trunk.0053 Jammy ttyS2

rock-3a login: