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>
# 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