armsr: preserve configuration during sysupgrade
Copy configuration to boot partition (partition 1) instead of root partition (partition 2) because the root partition is not writable if it's a suqashfs image. Move configuration back to root during preinit. Fixes: https://github.com/openwrt/openwrt/issues/13695 Signed-off-by: Christian Buschau <cbuschau@d00t.de>
This commit is contained in:
parent
3e1ac00ccb
commit
67ce60c5f9
19
target/linux/armsr/base-files/lib/preinit/79_move_config
Normal file
19
target/linux/armsr/base-files/lib/preinit/79_move_config
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
|
||||||
|
move_config() {
|
||||||
|
local partdev parttype=ext4
|
||||||
|
|
||||||
|
. /lib/upgrade/common.sh
|
||||||
|
|
||||||
|
if export_bootdevice && export_partdevice partdev 1; then
|
||||||
|
part_magic_fat "/dev/$partdev" && parttype=vfat
|
||||||
|
if mount -t $parttype -o rw,noatime "/dev/$partdev" /mnt; then
|
||||||
|
if [ -f "/mnt/$BACKUP_FILE" ]; then
|
||||||
|
mv -f "/mnt/$BACKUP_FILE" /
|
||||||
|
fi
|
||||||
|
umount /mnt
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
boot_hook_add preinit_mount_root move_config
|
@ -36,7 +36,8 @@ platform_check_image() {
|
|||||||
platform_copy_config() {
|
platform_copy_config() {
|
||||||
local partdev parttype=ext4
|
local partdev parttype=ext4
|
||||||
|
|
||||||
if export_partdevice partdev 2; then
|
if export_partdevice partdev 1; then
|
||||||
|
part_magic_fat "/dev/$partdev" && parttype=vfat
|
||||||
mount -t $parttype -o rw,noatime "/dev/$partdev" /mnt
|
mount -t $parttype -o rw,noatime "/dev/$partdev" /mnt
|
||||||
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
|
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
|
||||||
umount /mnt
|
umount /mnt
|
||||||
|
Loading…
x
Reference in New Issue
Block a user