diff --git a/target/linux/mvebu/image/cfbase-boot.script b/target/linux/mvebu/image/cfbase-boot.script
index 89fa1dc578d0cef61e6279e72e09ca6ae00071ae..6ab6e363bc7ea0fec70fecdcaeb155cd1c2aa588 100644
--- a/target/linux/mvebu/image/cfbase-boot.script
+++ b/target/linux/mvebu/image/cfbase-boot.script
@@ -7,13 +7,14 @@
 # removed once U-Boot is able to detect the board variant.
 setenv fdtfile armada-388-clearfog-base.dtb
 
-# generate bootargs for rootfs on MMC
-if test "${devtype}" = "mmc"; then
-	setexpr openwrt_rootpart ${distro_bootpart} + 1
-	setenv bootargs ${bootargs} root=/dev/mmcblk${devnum}p${openwrt_rootpart} rootfstype=auto rootwait
-fi
+# rootfs is always on the next partition
+setexpr openwrt_rootpart ${distro_bootpart} + 1
+
+# figure out partition uuid to pass to the kernel as root=
+part uuid ${devtype} ${devnum}:${openwrt_rootpart} uuid
 
-# here one could add logic for other rootfs device types such as scsi and usb
+# generate bootargs (rootfs)
+setenv bootargs ${bootargs} root=PARTUUID=${uuid} rootfstype=auto rootwait
 
 # add console= option to bootargs, if any
 if test -n "${console}"; then
diff --git a/target/linux/mvebu/image/cfpro-boot.script b/target/linux/mvebu/image/cfpro-boot.script
index 1588c1546e5323cd4a0522c25596013ac8b0b60a..5971b0da77ab61cf2873300bc6a016d251ce1898 100644
--- a/target/linux/mvebu/image/cfpro-boot.script
+++ b/target/linux/mvebu/image/cfpro-boot.script
@@ -3,13 +3,14 @@
 # This script assumes that there is a boot partition, 
 # and that the root partition is always the next one.
 
-# generate bootargs for rootfs on MMC
-if test "${devtype}" = "mmc"; then
-	setexpr openwrt_rootpart ${distro_bootpart} + 1
-	setenv bootargs ${bootargs} root=/dev/mmcblk${devnum}p${openwrt_rootpart} rootfstype=auto rootwait
-fi
+# rootfs is always on the next partition
+setexpr openwrt_rootpart ${distro_bootpart} + 1
+
+# figure out partition uuid to pass to the kernel as root=
+part uuid ${devtype} ${devnum}:${openwrt_rootpart} uuid
 
-# here one could add logic for other rootfs device types such as scsi and usb
+# generate bootargs (rootfs)
+setenv bootargs ${bootargs} root=PARTUUID=${uuid} rootfstype=auto rootwait
 
 # add console= option to bootargs, if any
 if test -n "${console}"; then