mvebu: base-files: autodetect upgrade device
authorTomasz Maciej Nowak <tomek_n@o2.pl>
Thu, 28 Mar 2019 17:07:08 +0000 (18:07 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 6 Apr 2019 14:31:10 +0000 (16:31 +0200)
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@o2.pl>
target/linux/mvebu/base-files/lib/preinit/79_move_config
target/linux/mvebu/base-files/lib/upgrade/sdcard.sh

index 73ddf09..64c0cc0 100644 (file)
@@ -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
index a05df83..7aa91f4 100644 (file)
@@ -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
 }