summaryrefslogtreecommitdiffstats
path: root/tools/busybox-patches/unionfs-run-init-1.9.1.diff
diff options
context:
space:
mode:
Diffstat (limited to 'tools/busybox-patches/unionfs-run-init-1.9.1.diff')
-rw-r--r--tools/busybox-patches/unionfs-run-init-1.9.1.diff14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/busybox-patches/unionfs-run-init-1.9.1.diff b/tools/busybox-patches/unionfs-run-init-1.9.1.diff
new file mode 100644
index 00000000..768e07c6
--- /dev/null
+++ b/tools/busybox-patches/unionfs-run-init-1.9.1.diff
@@ -0,0 +1,14 @@
+diff -ruw busybox-1.6.1/util-linux/switch_root.c busybox-1.6.1-openslx/util-linux/switch_root.c
+--- busybox-1.6.1/util-linux/switch_root.c 2007-06-30 17:06:48.000000000 +0200
++++ busybox-1.6.1-openslx/util-linux/switch_root.c 2007-08-03 18:52:59.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("/");