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