summaryrefslogtreecommitdiffstats
path: root/tools/busybox-patches/unionfs-run-init-1.6.0.diff
diff options
context:
space:
mode:
Diffstat (limited to 'tools/busybox-patches/unionfs-run-init-1.6.0.diff')
-rw-r--r--tools/busybox-patches/unionfs-run-init-1.6.0.diff13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/busybox-patches/unionfs-run-init-1.6.0.diff b/tools/busybox-patches/unionfs-run-init-1.6.0.diff
new file mode 100644
index 00000000..0014e865
--- /dev/null
+++ b/tools/busybox-patches/unionfs-run-init-1.6.0.diff
@@ -0,0 +1,13 @@
+--- util-linux/switch_root.c.orig 2007-06-15 11:38:00.000000000 +0200
++++ util-linux/switch_root.c 2007-06-15 11:35:41.000000000 +0200
+@@ -105,6 +105,10 @@
+ // Overmount / with newdir and chroot into it. The chdir is needed to
+ // recalculate "." and ".." links.
+
++ if ( !lstat("/rorootfs", &st1 ) )
++ if ( mount("/rorootfs", "/", NULL, MS_MOVE, NULL) )
++ bb_error_msg_and_die("moving rorootfs");
++
+ if (mount(".", "/", NULL, MS_MOVE, NULL) || chroot("."))
+ bb_error_msg_and_die("error moving root");
+ xchdir("/");