aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2021-02-27 22:21:09 +0000
committerDaniel Golle <daniel@makrotopia.org>2021-02-28 00:09:09 +0000
commit84a339f01523c7892f014cc5439c66b43ba6b6ff (patch)
tree0efba649418b52b167ce2fa756a8732ba809c172
parentb7d125f45530dcf9238accab5af28377f5152719 (diff)
downloadupstream-84a339f01523c7892f014cc5439c66b43ba6b6ff.tar.gz
upstream-84a339f01523c7892f014cc5439c66b43ba6b6ff.tar.bz2
upstream-84a339f01523c7892f014cc5439c66b43ba6b6ff.zip
base-files: add support for restoring config from tmpfs
Instead of only relying in /sysupgrade.tgz being present in rootfs to restore configuration, also grab /tmp/sysupgrade.tar which may have magically gotten there during preinit... Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--package/base-files/files/lib/preinit/80_mount_root5
1 files changed, 3 insertions, 2 deletions
diff --git a/package/base-files/files/lib/preinit/80_mount_root b/package/base-files/files/lib/preinit/80_mount_root
index 3f75411a43..c3816c2cbf 100644
--- a/package/base-files/files/lib/preinit/80_mount_root
+++ b/package/base-files/files/lib/preinit/80_mount_root
@@ -17,11 +17,12 @@ missing_lines() {
do_mount_root() {
mount_root
boot_run_hook preinit_mount_root
- [ -f /sysupgrade.tgz ] && {
+ [ -f /sysupgrade.tgz -o -f /tmp/sysupgrade.tar ] && {
echo "- config restore -"
cp /etc/passwd /etc/group /etc/shadow /tmp
cd /
- tar xzf /sysupgrade.tgz
+ [ -f /sysupgrade.tgz ] && tar xzf /sysupgrade.tgz
+ [ -f /tmp/sysupgrade.tar ] && tar xf /tmp/sysupgrade.tar
missing_lines /tmp/passwd /etc/passwd >> /etc/passwd
missing_lines /tmp/group /etc/group >> /etc/group
missing_lines /tmp/shadow /etc/shadow >> /etc/shadow