52d28c1140
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 8a164ee08537014936a8608f5a60fe0e27dcabd6..6bd2005344c081df20e5a330a69e49e37225c39f 100644
|
|
--- a/package/system/procd/files/nand.sh
|
|
+++ b/package/system/procd/files/nand.sh
|
|
@@ -333,7 +333,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
|
|
}
|
|
}
|
|
@@ -370,6 +370,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
|
|
}
|