From 5379d524e1f063271db79fd922061801a2d3778b Mon Sep 17 00:00:00 2001 From: Felix Endres Date: Thu, 24 Aug 2006 02:27:10 +0000 Subject: Fixed the fontproblem for gdm + ubuntu + bindmounts git-svn-id: http://svn.openslx.org/svn/openslx/trunk@328 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initrd/distro-specs/ubuntu/config-default | 7 +++++-- initrd/initrd-stuff/init | 8 +++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/initrd/distro-specs/ubuntu/config-default b/initrd/distro-specs/ubuntu/config-default index 0d6835de..63b78014 100644 --- a/initrd/distro-specs/ubuntu/config-default +++ b/initrd/distro-specs/ubuntu/config-default @@ -12,10 +12,12 @@ # D_DIRINBINDMNT - lists of directories to be created in bind mounted rw # part of the client filesystem # D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on +# D_RWDIRSINRO - Writable Subdirectories in the RO-Dirs (D_RODIRSINRW) # TempFS usage # D_DIRINDXS - directories in client filesystem which should be present # anyhow # D_BINDMNT - any code which is specific in bind mount environment +# D_BINDMPTS - These directories will be created in the ramdisk and movemounted to the root ("/") this will also happen to /var and /etc # D_RCDIRS - runlevel directories relative to /etc # D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. # /etc/X11/xorg.conf or /etc/X11/XF86config, ... @@ -33,8 +35,9 @@ pptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\ X11/xdm/pixmaps\ndhclient.script\n\ rc2.d/*\nrc5.d/*" D_BINDMPTS="tmp root home" -D_DIRINBINDMNT="/var/run /var/log /var/tmp /var/lib/gdm" -D_RODIRSINRW="etc/gconf etc/X11/xkb /var/adm /var/lib/texmf" +D_DIRINBINDMNT="/var/run /var/log /var/tmp" +D_RODIRSINRW="etc/gconf etc/X11/xkb /var/adm /var/lib/" +D_RWDIRSINRO="/var/lib/gdm" D_DIRINDXS="/var/X11R6/compose-cache \ /var/run/sysconfig/tmp /var/adm /var/lib/rpm /var/lib/nobody \ /var/lib/pam_devperm /var/lib/bluetooth \ diff --git a/initrd/initrd-stuff/init b/initrd/initrd-stuff/init index f36913ff..1e57e5f2 100755 --- a/initrd/initrd-stuff/init +++ b/initrd/initrd-stuff/init @@ -380,9 +380,12 @@ elif [ -z "$COWLOOP" ] ; then for path in ${D_BINDMPTS} ; do mkdir -p ${RWDIR}/${path} >/dev/null 2>&1 mount -n --bind ${RWDIR}/${path} /mnt/${path} + [ ${DEBUGLEVEL} -gt 1 ] && echo "Created ${RWDIR}/${path} and mounted it to /mnt/$path" done # see above ... ldcfg + # Save the RO Directories mentioned in the distro-specific + # config to a temporary directory. They will lateron be restored for path in ${D_RODIRSINRW}; do if [ -d /mnt/${path} ] ; then LIST=${path}" "$LIST @@ -398,7 +401,6 @@ elif [ -z "$COWLOOP" ] ; then done testmkd ${RWDIR}/var/tmp chmod a+rwxt ${RWDIR}/var/tmp >/dev/null 2>&1 - echo -e "${D_ETCEXCL} @@@COMETCEXCL@@@" >>/tmp/etc.exclude # if ld.so.cache is to be generated then do not copy the file [ -z "${NOLDSC}" ] && echo -e "ld.so.cache*" >>/tmp/etc.exclude @@ -434,6 +436,10 @@ servconfig & for path in @@@COMDIRINDXS@@@ ${D_DIRINDXS} ${D_DIRINBINDMNT} ; do testmkd /mnt/${path} done +# Needed writable subdirs nested in readonly subdirs of writable one +for path in ${D_RWDIRSINRO}; do + mount -n -t tmpfs none /mnt/${path} +done for i in /var/run/utmp /var/log/wtmp /var/log/lastlog /etc/mtab ; do echo -n > /mnt/$i done -- cgit v1.2.3-55-g7522