The staged sysupgrade allows to properly unmount the rootfs before writing the new partitions. This will fix upgrades losing configuration when parition sizes change on x86 and similar image types.
33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
Date: Wed, 3 May 2017 08:28:05 +0200
|
|
Subject: procd: prepare NAND sysupgrade for making upgraded dynamically linked
|
|
|
|
Use install_bin to copy upgraded with all dependencies. The old name
|
|
/tmp/upgraded is temporarily retained as a symlink to avoid breaking
|
|
things.
|
|
|
|
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
|
|
diff --git a/package/system/procd/files/nand.sh b/package/system/procd/files/nand.sh
|
|
index e0d3f2dfdb1e04e17ccf6fea60b0f2af617206f3..ec2a014a00461ca897d521e2d065f5399f1f8c48 100644
|
|
--- a/package/system/procd/files/nand.sh
|
|
+++ b/package/system/procd/files/nand.sh
|
|
@@ -318,7 +318,7 @@ nand_upgrade_stage1() {
|
|
[ "$SAVE_CONFIG" != 1 -a -f "$CONF_TAR" ] &&
|
|
rm $CONF_TAR
|
|
|
|
- ubus call system nandupgrade "{\"path\": \"$path\" }"
|
|
+ ubus call system nandupgrade "{\"prefix\": \"$RAM_ROOT\", \"path\": \"$path\" }"
|
|
exit 0
|
|
}
|
|
}
|
|
@@ -359,6 +359,7 @@ nand_do_platform_check() {
|
|
# $(1): file to be used for upgrade
|
|
nand_do_upgrade() {
|
|
echo -n $1 > /tmp/sysupgrade-nand-path
|
|
- cp /sbin/upgraded /tmp/
|
|
+ install_bin /sbin/upgraded
|
|
+ ln -s "$RAM_ROOT"/sbin/upgraded /tmp/upgraded
|
|
nand_upgrade_stage1
|
|
}
|