Kernel stuck at "Waiting for root device PARTUUID" using mainline U-Boot on Rock 4C+ (rk3399)

Hi all,

I’m trying to boot a Radxa board (Rock 4C+) using mainline U-Boot , and I’m running into an issue with the kernel waiting for the root device.

Kernel logs :

[ 2.067486] rockchip-mipi-dphy-rx: No link between dphy and sensor
[ 2.068110] rockchip-mipi-dphy-rx: No link between dphy and sensor
[ 2.068663] rkisp1: update sensor failed
[ 2.069451] ALSA device list:
[ 2.069729] #0: rockchip,rk809-codec
[ 2.070084] #1: rk-hdmi-dp-sound
[ 2.070649] ttyS2 - failed to request DMA, use interrupt mode
[ 2.071339] Waiting for root device PARTUUID=a26ad83c-802b-4321-ac9b-b7d356d112af…
[ 2.114990] mmc_host mmc2: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0)
[ 2.213158] headset_interrupt:get pin level again,pin=2,i=0
[ 2.224167] wifi_platform_bus_enumerate device present 1
[ 2.224667] mmc2:mmc host rescan start!
[ 2.326366] dwmmc_rockchip fe310000.dwmmc: Successfully tuned phase to 228
[ 2.336707] mmc2: queuing unknown CIS tuple 0x91 (3 bytes)

Full Kernel logs : https://drive.google.com/drive/home

extlinux config

label kernel-4.4
kernel /Image
fdt /rk3399-rock-4c-plus.dtb
append earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=a26ad83c-802b-4321-ac9b-b7d356d112af rootfstype=ext4 init=/sbin/init rootwait

From Uboot command line
=> mmc part
Partition Map for mmc device 0 – Partition Type: EFI

Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
1 0x00000040 0x00001f7f “loader1”
attrs: 0x0000000000000000
type: 8dcd1602-5214-43f9-ffef-c49a4ee450b7
(8dcd1602-5214-43f9-ffef-c49a4ee450b7)
guid: 5a30833f-8c43-47b1-a41d-84d40883d0c6
2 0x00001f80 0x00001fff “reserved1”
attrs: 0x0000000000000000
type: 1124e418-9008-41f8-9e3d-8d872216c8a1
(1124e418-9008-41f8-9e3d-8d872216c8a1)
guid: 67ad7741-4638-47c6-a488-d396583e582a
3 0x00002000 0x00003fff “reserved2”
attrs: 0x0000000000000000
type: fbd4486a-e42c-448d-d4e9-7f5c324a7843
(fbd4486a-e42c-448d-d4e9-7f5c324a7843)
guid: 3adea03d-c612-46ed-cff9-b79439f11561
4 0x00004000 0x00005fff “loader2”
attrs: 0x0000000000000000
type: bbaf4f47-230d-45b6-feae-e4b35f300b00
(bbaf4f47-230d-45b6-feae-e4b35f300b00)
guid: e582484a-9010-404a-899d-47bd16ba3fa8
5 0x00006000 0x00007fff “atf”
attrs: 0x0000000000000000
type: c5c5d354-440b-453e-8832-d36349b6ee24
(c5c5d354-440b-453e-8832-d36349b6ee24)
guid: dc11277f-eb7f-42d9-8027-a83b14220e50
6 0x00008000 0x0003ffff “boot”
attrs: 0x0000000000000004
type: 5cc3b72d-c157-4984-a601-30f55f80ac1c
(5cc3b72d-c157-4984-a601-30f55f80ac1c)
guid: 295a726a-357d-4382-d5a6-e7e871da99e0
7 0x00040000 0x01d5efde “rootfs”
attrs: 0x0000000000000000
type: 34ea5450-9f2a-471b-9c58-280523e6fe2b
(34ea5450-9f2a-471b-9c58-280523e6fe2b)
guid: a26ad83c-802b-4321-ac9b-b7d356d112af

I have tried to give a26ad83c-80 , a26ad83c-802b-4321-ac9b-b7d356d112af and /dev/mmcblop7 in extlinux.conf but in each case getting the same error waiting for root…

Environment variable:
=> printenv
arch=arm
baudrate=1500000
board=rockpi4-rk3399
board_name=rockpi4-rk3399
boot_targets=mmc1 mmc0 nvme scsi usb pxe dhcp spi
bootargs= single
bootcmd=bootflow scan -lb
bootdelay=2
cpu=armv8
cpuid#=5442545432302e3030000000000f8d04
eth1addr=f2:5b:e0:a7:e0:c1
ethaddr=f2:5b:e0:a7:e0:c0
fdt_addr_r=0x12000000
fdtcontroladdr=f1ee4570
fdtfile=rockchip/rk3399-rock-4c-plus.dtb
fdtoverlay_addr_r=0x12100000
kernel_addr_r=0x02000000
kernel_comp_addr_r=0x0a000000
kernel_comp_size=0x8000000
loadaddr=0x800800
partitions=uuid_disk=${uuid_gpt_disk};name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};name=trust,size=4M,uuid=${uuid_gpt_atf};name=boot;
pxefile_addr_r=0x00e00000
ramdisk_addr_r=0x12180000
script_offset_f=0xffe000
script_size_f=0x2000
scriptaddr=0x00c00000
serial#=ffe4f1b5998c6fc9
soc=rk3399
stderr=serial,vidconsole
stdin=serial,usbkbd
stdout=serial,vidconsole
usb_ignorelist=0x1050:*,
vendor=radxa

Flashing steps :
sudo ./rkdeveloptool db rk3399_loader_v1.20.119.bin
sudo ./rkdeveloptool gpt parameter_gpt.txt
sudo ./rkdeveloptool wl 0x40 idbloader.img
sudo ./rkdeveloptool wl 0x00004000 u-boot.itb
sudo ./rkdeveloptool wl 0x00008000 boot.img
sudo ./rkdeveloptool wl 0x00040000 linaro-rootfs.img
sudo ./rkdeveloptool rd

Could someone please suggest that what mistake am I doing.