# # Copyright (C) 2014-2016 OpenWrt.org # Copyright (C) 2016 LEDE-Project.org # preinit_mount_syscfg() { . /lib/functions.sh . /lib/upgrade/common.sh case $(board_name) in linksys,caiman|linksys,cobra|linksys,mamba|linksys,rango|linksys,shelby|linksys,venom) needs_recovery=0 syscfg_part=$(grep syscfg /proc/mtd |cut -c4) ubiattach -m $syscfg_part || needs_recovery=1 if [ $needs_recovery -eq 1 ] then echo "ubifs syscfg partition is damaged, reformatting" ubidetach -m $syscfg_part ubiformat -y -O 2048 -q /dev/mtd$syscfg_part ubiattach -m $syscfg_part ubimkvol /dev/ubi1 -n 0 -N syscfg -t dynamic --maxavsize fi mkdir /tmp/syscfg mount -t ubifs ubi1:syscfg /tmp/syscfg [ -f "/tmp/syscfg/$BACKUP_FILE" ] && { echo "- config restore -" cd / mv "/tmp/syscfg/$BACKUP_FILE" /tmp tar xzf "/tmp/$BACKUP_FILE" rm -f "/tmp/$BACKUP_FILE" sync } ;; esac } boot_hook_add preinit_main preinit_mount_syscfg