mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 08:51:13 +00:00
bf39047872
1) Add BACKUP_FILE and use it when copying an archive to be restored after sysupgrade (on the next preinit). 2) Use CONF_TAR for copying backup prepared by the /sbin/sysupgrade Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
49 lines
1.3 KiB
Plaintext
49 lines
1.3 KiB
Plaintext
#
|
|
# Copyright (C) 2014-2019 OpenWrt.org
|
|
# Copyright (C) 2016 LEDE-Project.org
|
|
#
|
|
|
|
preinit_mount_udpu() {
|
|
. /lib/functions.sh
|
|
. /lib/upgrade/common.sh
|
|
|
|
case $(board_name) in
|
|
methode,udpu)
|
|
# Check which device is detected
|
|
[ -b "/dev/mmcblk0" ] && mmcdev="/dev/mmcblk0" || mmcdev="/dev/mmcblk1"
|
|
|
|
if [ -b "${mmcdev}p4" ]; then
|
|
mkdir /misc
|
|
mount -t f2fs ${mmcdev}p4 /misc
|
|
[ -f "/misc/$BACKUP_FILE" ] && {
|
|
echo "- Restoring configuration files -"
|
|
tar xzf "/misc/$BACKUP_FILE" -C /
|
|
rm -f "/misc/$BACKUP_FILE"
|
|
sync
|
|
}
|
|
[ -f "/misc/firmware/recovery.itb" ] && {
|
|
echo "- Updating /recovery partition -"
|
|
mkfs.ext4 -q ${mmcdev}p2 | echo y &> /dev/null
|
|
mkdir -p /tmp/recovery
|
|
mount ${mmcdev}p2 /tmp/recovery
|
|
cp /misc/firmware/recovery.itb /tmp/recovery
|
|
[ -f "/misc/firmware/boot.scr" ] && \
|
|
cp /misc/firmware/boot.scr /tmp/recovery
|
|
sync
|
|
umount /tmp/recovery
|
|
rm -rf /tmp/recovery
|
|
|
|
# Replace previous backup with the new one
|
|
[ -d "/misc/firmware_old" ] && rm -rf /misc/firmware_old
|
|
[ -d "/misc/firmware" ] && mv /misc/firmware /misc/firmware_old
|
|
}
|
|
fi
|
|
|
|
# Legacy support - if rootfs was booted, instruct u-boot to keep the current root dev
|
|
[ "$(df | grep /dev/root)" ] && fw_setenv root_ok '2'
|
|
;;
|
|
esac
|
|
}
|
|
|
|
boot_hook_add preinit_main preinit_mount_udpu
|