summaryrefslogtreecommitdiffstats
path: root/tools/unionfs-run-init
diff options
context:
space:
mode:
Diffstat (limited to 'tools/unionfs-run-init')
-rw-r--r--tools/unionfs-run-init24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/unionfs-run-init b/tools/unionfs-run-init
new file mode 100644
index 00000000..af09bf00
--- /dev/null
+++ b/tools/unionfs-run-init
@@ -0,0 +1,24 @@
+Fix fuer UnionFS auf /
+Nun gibts einfach eine Erweiterung fuer das Klibc-Tool run-init:
+
+klibc1.3
+usr/kinit/run-init/runinitlib.c
+
+ /* Delete rootfs contents */
+ if ( nuke_dir("/") )
+ die("nuking initramfs contents");
+
+ /* wild guess and try&error */
+ if ( !lstat("/rorootfs", &rfs ) )
+ if ( mount("/rorootfs", "/", NULL, MS_MOVE, NULL) )
+ die("moving rorootfs");
+
+ /* Overmount the root */
+ if ( mount(".", "/", NULL, MS_MOVE, NULL) )
+ die("overmounting root");
+
+und vor dem Movemount fuer das eigentliche Root noch ein Movemount auf das
+drunterliegende Rootfs ... Laengeres Rumprobieren und nun scheint es
+erstmal zu klappen. Zur Zeit checkt der einfach nur (bis ich das raus
+hatte :-)) ob ein "/rorootfs" da ist und verschiebt das dann. Wenn nicht,
+bleibts so wie vorher.