[OpenWrt-Devel] [PATCH v2 4/7] mvebu: base-files: autodetect upgrade device

Tomasz Maciej Nowak tomek_n at o2.pl
Thu Mar 28 13:07:08 EDT 2019


Since some boards could be also booted from other mediums than SD card,
lets make the upgrade block device autodetected.

Signed-off-by: Tomasz Maciej Nowak <tomek_n at o2.pl>
---
 .../base-files/lib/preinit/79_move_config     |  9 +++++----
 .../mvebu/base-files/lib/upgrade/sdcard.sh    | 19 +++++++++++++------
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/target/linux/mvebu/base-files/lib/preinit/79_move_config b/target/linux/mvebu/base-files/lib/preinit/79_move_config
index 73ddf09155..64c0cc0eea 100644
--- a/target/linux/mvebu/base-files/lib/preinit/79_move_config
+++ b/target/linux/mvebu/base-files/lib/preinit/79_move_config
@@ -1,12 +1,13 @@
 #!/bin/sh
 # Copyright (C) 2015 OpenWrt.org
 
-BOOTPART=/dev/mmcblk0p1
-
 . /lib/functions.sh
+. /lib/upgrade/common.sh
 
 move_config() {
-	if [ -b $BOOTPART ]; then
+	local partdev
+
+	if export_bootdevice && export_partdevice partdev 1; then
 		case $(board_name) in
 			turris-omnia)
 			insmod nls_cp437
@@ -16,7 +17,7 @@ move_config() {
 			;;
 		esac
 		mkdir -p /boot
-		mount -o rw,noatime $BOOTPART /boot
+		mount -o rw,noatime "/dev/$partdev" /boot
 		[ -f /boot/sysupgrade.tgz ] && mv -f /boot/sysupgrade.tgz /
 		umount /boot
 	fi
diff --git a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
index a05df834ba..7aa91f463c 100644
--- a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
+++ b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
@@ -19,9 +19,12 @@ platform_check_image_sdcard() {
 
 platform_do_upgrade_sdcard() {
 	local board=$(board_name)
+	local diskdev
 
 	sync
-	get_image "$1" | dd of=/dev/mmcblk0 bs=2M conv=fsync
+	if export_bootdevice && export_partdevice diskdev 0; then
+		get_image "$1" | dd of=/dev/$diskdev bs=2M conv=fsync
+	fi
 
 	case "$board" in
 	armada-385-turris-omnia)
@@ -36,9 +39,13 @@ platform_do_upgrade_sdcard() {
 }
 
 platform_copy_config_sdcard() {
-	mkdir -p /boot
-	[ -f /boot/kernel.img ] || mount -o rw,noatime /dev/mmcblk0p1 /boot
-	cp -af "$CONF_TAR" /boot/
-	sync
-	umount /boot
+	local partdev
+
+	if export_partdevice partdev 1; then
+		mkdir -p /boot
+		[ -f /boot/kernel.img ] || mount -o rw,noatime /dev/$partdev /boot
+		cp -af "$CONF_TAR" /boot/
+		sync
+		umount /boot
+	fi
 }
-- 
2.21.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list