mirror of
https://github.com/AlbrechtL/openwrt-docker.git
synced 2026-10-17 16:01:34 +00:00
38 lines
1.1 KiB
Bash
38 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -Eeuo pipefail
|
|
trap - ERR
|
|
|
|
. /var/vm/openwrt_metadata.conf
|
|
. /run/helpers.sh
|
|
|
|
FILE=/storage/rootfs-${OPENWRT_IMAGE_ID}.img
|
|
|
|
# Migrate settings from old OpenWrt version to new one
|
|
if [ -f /storage/old_version ]; then
|
|
OLD_VERSION_ROOTFS=`cat /storage/old_version`
|
|
|
|
info "Migrate settings from $OLD_VERSION_ROOTFS to rootfs-${OPENWRT_IMAGE_ID}.img."
|
|
|
|
mount /storage/$OLD_VERSION_ROOTFS /mnt
|
|
chroot /mnt/ mkdir -p /var/lock
|
|
chroot /mnt /sbin/sysupgrade -k -b /tmp/openwrt_config.tar.gz
|
|
mv /mnt/tmp/openwrt_config.tar.gz /storage/config-`basename $OLD_VERSION_ROOTFS .img`.tar.gz
|
|
umount /mnt
|
|
|
|
# Put config backup to new rootfs
|
|
mount $FILE /mnt
|
|
mkdir -p /mnt/root/backup
|
|
cp /storage/config-`basename $OLD_VERSION_ROOTFS .img`.tar.gz /mnt/root/backup/config.tar.gz
|
|
chroot /mnt/ mkdir -p /var/lock
|
|
chroot /mnt /sbin/sysupgrade -r /root/backup/config.tar.gz
|
|
umount /mnt
|
|
|
|
# Finally remove old rootfs and old files
|
|
rm /storage/$OLD_VERSION_ROOTFS
|
|
rm /storage/old_version
|
|
rm /storage/config-`basename $OLD_VERSION_ROOTFS .img`.tar.gz
|
|
else
|
|
info "rootfs-${OPENWRT_IMAGE_ID}.img is up to date. Nothing to do."
|
|
fi
|