From 7452a498a36166447a5c54afc0aae44afb8e4200 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Tue, 19 Sep 2006 23:28:47 +0000 Subject: Minor addons ... (and patch for run-init in combination with unionfs) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@383 95ad53e4-c205-0410-b2fa-d234c58c8868 --- installer/distro-specs/exclude-common | 2 ++ installer/distro-specs/exclude-suse-10.0 | 1 + installer/distro-specs/exclude-suse-10.1 | 4 ++++ tools/unionfs-run-init | 24 ++++++++++++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 tools/unionfs-run-init diff --git a/installer/distro-specs/exclude-common b/installer/distro-specs/exclude-common index e900ceb7..c7f64b59 100644 --- a/installer/distro-specs/exclude-common +++ b/installer/distro-specs/exclude-common @@ -27,6 +27,8 @@ - /root/* - /home/* - /mnt/* +- /var/opt/openslx +- /opt/openslx - .svn - *~ - .*.cmd diff --git a/installer/distro-specs/exclude-suse-10.0 b/installer/distro-specs/exclude-suse-10.0 index 7e11c820..f57b8d9b 100644 --- a/installer/distro-specs/exclude-suse-10.0 +++ b/installer/distro-specs/exclude-suse-10.0 @@ -15,6 +15,7 @@ - /var/log/* - /var/run/* - /var/spool/* +- /var/mail - /var/lib/xdm - /var/adm/backup/rpmdb/* - /usr/share/vmware/* diff --git a/installer/distro-specs/exclude-suse-10.1 b/installer/distro-specs/exclude-suse-10.1 index c52f0595..aa7358ee 100644 --- a/installer/distro-specs/exclude-suse-10.1 +++ b/installer/distro-specs/exclude-suse-10.1 @@ -19,11 +19,15 @@ - /var/log/* - /var/run/* - /var/spool/* +- /var/mail - /var/lock/* +- /var/lib/suspend* - /var/lib/vm/* - /var/lib/gdm/* - /var/lib/dhcp* - /var/lib/xdm +- /var/lib/zmd +- /var/lib/zypp/cache/* - /var/adm/backup/rpmdb/* - /usr/share/vmware/* - *lost+found* 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. -- cgit v1.2.3-55-g7522