Rockchip Boot Stuck at "Waiting for root device": Fix
Waiting for root device /dev/mmcblk0p2...
The kernel booted but cannot find the root filesystem named in root=, because the storage driver is missing or the device name/UUID is wrong.
Applies to: All Rockchip SoCs
Symptoms
- Boot stops at "Waiting for root device ..."
- Happens after a kernel or DTB change, or when moving from SD to eMMC/NVMe
Common causes
- Storage driver built as a module without an initramfs (MMC, SDHCI, NVMe, PCIe PHY)
- mmcblk numbering changed (SD vs eMMC order differs between kernels)
- root=/dev/... points at the wrong partition
- Storage controller disabled in the DTB
How to fix it
- Use UUIDs, not device names
blkid # on a working system # extlinux.conf: append root=UUID=<rootfs-uuid> rootwait rw console=ttyS2,1500000 - Build storage drivers in
# eMMC on newer SoCs + SD + NVMe CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI_OF_DWCMSHC=y CONFIG_BLK_DEV_NVME=y CONFIG_PCIE_ROCKCHIP_DW_HOST=y - Confirm the controller is enabled
Check the sdhci/sdmmc/pcie nodes have status = "okay" in the DTB the bootloader actually loads.
Go deeper
- Build the Rockchip Linux Kernel (Vendor BSP and Mainline)
- Rockchip Boot Process Explained: BootROM, TPL, SPL, BL31, U-Boot and Linux
FAQ
What does "Waiting for root device /dev/mmcblk0p2..." mean?
The kernel booted but cannot find the root filesystem named in root=, because the storage driver is missing or the device name/UUID is wrong.
What causes "Waiting for root device /dev/mmcblk0p2..."?
Storage driver built as a module without an initramfs (MMC, SDHCI, NVMe, PCIe PHY); mmcblk numbering changed (SD vs eMMC order differs between kernels); root=/dev/... points at the wrong partition; Storage controller disabled in the DTB.
How do I fix "Waiting for root device /dev/mmcblk0p2..."?
1. Use UUIDs, not device names 2. Build storage drivers in 3. Confirm the controller is enabled: Check the sdhci/sdmmc/pcie nodes have status = "okay" in the DTB the bootloader actually loads.
Related issues
Creating Comm Object failed!rkdeveloptool "Creating Comm Object failed!": FixDownload boot failed!rkdeveloptool "Download boot failed!" in MaskROM: Causes and Fixnot found any devices!rkdeveloptool "not found any devices!": Board Not Detected Over USBusb 1-1: device descriptor read/64, error -71Rockchip USB "device descriptor read/64, error -71": Fixmmc0: error -110 whilst initialising SD cardRockchip "error -110 whilst initialising SD card": SD Card Not WorkingStarting kernel ...Rockchip Board Hangs After "Starting kernel ...": No Kernel Output