octeon: use dedicated function to move config backup
authorRoman Kuzmitskii <damex.pp@icloud.com>
Thu, 22 Oct 2020 18:31:07 +0000 (18:31 +0000)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 26 Oct 2020 20:07:22 +0000 (21:07 +0100)
All octeon devices use the same or a very similar way to backup
and restore configuration.

We expect to have more devices added and in order to stop
repeating ourselves move the logic to a separate function.

While at it, add a few checks.

Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
[commit message facelift]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/octeon/base-files/lib/preinit/79_move_config

index fd780a9461c99d8d5dc2e663a0404ce36a46b63c..086f7c62e2573fe5f427803025f249e0848ace22 100644 (file)
@@ -1,21 +1,27 @@
 # Copyright (C) 2014 OpenWrt.org
 
 move_config() {
-       . /lib/functions.sh
        . /lib/upgrade/common.sh
 
+       local device="$1"
+       [ -n "$device" ] && [ -b "$device" ] && {
+               mount -t vfat "$device" /mnt
+               [ -f "/mnt/$BACKUP_FILE" ] && mv -f "/mnt/$BACKUP_FILE" /
+               umount /mnt
+       }
+}
+
+octeon_move_config() {
+       . /lib/functions.sh
+
        case "$(board_name)" in
                erlite)
-                       mount -t vfat /dev/sda1 /mnt
-                       [ -f "/mnt/$BACKUP_FILE" ] && mv -f "/mnt/$BACKUP_FILE" /
-                       umount /mnt
+                       move_config "/dev/sda1"
                        ;;
                itus,shield-router)
-                       mount -t vfat /dev/mmcblk1p1 /mnt
-                       [ -f "/mnt/$BACKUP_FILE" ] && mv -f "/mnt/$BACKUP_FILE" /
-                       umount /mnt
+                       move_config "/dev/mmcblk1p1"
                        ;;
        esac
 }
 
-boot_hook_add preinit_mount_root move_config
+boot_hook_add preinit_mount_root octeon_move_config