summaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/image
diff options
context:
space:
mode:
authorJosua Mayer <josua.mayer97@gmail.com>2017-10-19 09:22:11 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2018-03-02 21:33:07 +0100
commit9a820765924a311b7d7c8ccc740c86370c7efd26 (patch)
tree7374db2aa8726bd28b6e5854b46f6536758a0a29 /target/linux/mvebu/image
parent98aa44ce79c7f074ec2f5d627c1fe8a0d7a5a3e1 (diff)
downloadopenwrt-9a820765924a311b7d7c8ccc740c86370c7efd26.tar.gz
openwrt-9a820765924a311b7d7c8ccc740c86370c7efd26.tar.bz2
openwrt-9a820765924a311b7d7c8ccc740c86370c7efd26.zip
mvebu: clearfog: use partition uuid for root= bootarg
U-Boot already knows where it found the boot.scr, and figuring out the partition UUID becomes trivial at this point. This change allows booting OpenWrt from whatever storage it has been flashed to: SD card, eMMC, USB disk or SATA disk. Signed-off-by: Josua Mayer <josua.mayer97@gmail.com> [replace lede with openwrt, redact commit message] Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Diffstat (limited to 'target/linux/mvebu/image')
-rw-r--r--target/linux/mvebu/image/cfbase-boot.script13
-rw-r--r--target/linux/mvebu/image/cfpro-boot.script13
2 files changed, 14 insertions, 12 deletions
diff --git a/target/linux/mvebu/image/cfbase-boot.script b/target/linux/mvebu/image/cfbase-boot.script
index 89fa1dc578..6ab6e363bc 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 1588c1546e..5971b0da77 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