echo "- snapshot -"
mkdir /tmp/snapshot
cd /tmp/snapshot
- fs-state snapshot read
+ snapshot_tool read
block=`ls block*.tar.gz 2> /dev/null`
[ -z "$block" ] || for a in $block; do
tar xzf $a -C /
do_config_unpack() {
echo "- config -"
- fs-state snapshot config_read
+ snapshot_tool config_read
[ -f /tmp/config.tar.gz ] && {
tar xzf /tmp/config.tar.gz -C /
rm -f /tmp/config.tar.gz
}
do_snapshot_push() {
- cd /volatile
+ cd /volatile/upper
tar czf /tmp/snapshot.tar.gz *
- fs-state snapshot write
+ snapshot_tool write
reboot
}
do_config_push() {
- cd /volatile
+ cd /volatile/upper
tar czf /tmp/config.tar.gz *
- fs-state snapshot config_write
+ snapshot_tool config_write
}
do_snapshot_upgrade() {
opkg update
- [ $? == 0 ] || exit 1
+ [ $? -eq 0 ] || exit 1
opkg list-upgradable
- [ $? == 0 ] || exit 2
-
+ [ $? -eq 0 ] || exit 2
+
UPDATES=`opkg list-upgradable | cut -d" " -f1`
[ -z "${UPDATES}" ] && exit 0
opkg upgrade ${UPDATES}
- [ $? == 0 ] || exit 3
+ [ $? -eq 0 ] || exit 3
do_snapshot_push
sleep 5
}
do_convert_jffs2() {
- fs-state snapshot write
+ snapshot_tool write
sleep 2
reboot -f
}
do_convert() {
. /lib/functions.sh
. /lib/upgrade/common.sh
- ubus call system upgrade
- touch /tmp/sysupgrade
- cd /overlay
+
+ cd /overlay/upper
tar czf /tmp/snapshot.tar.gz *
- kill_remaining TERM
- sleep 3
- kill_remaining KILL
- run_ramfs '. /sbin/snapshot; do_convert_jffs2'
+
+ install_bin /sbin/upgraded
+ ubus call system sysupgrade "{
+ \"prefix\": \"$RAM_ROOT\",
+ \"path\": \"\",
+ \"command\": \". /sbin/snapshot; do_convert_jffs2\"
+ }"
}
[ -n "$(cat /proc/mounts|grep /overlay|grep jffs2)" ] && {
esac
}
-[ -d /volatile ] && {
+[ -d /volatile/upper ] && {
case $1 in
push)
do_snapshot_push
do_snapshot_upgrade
;;
info)
- fs-state info
+ snapshot_tool info
;;
esac
}