diff --git a/install/profile/3patch/etc/init.d/root.diff?scratch_ws!= b/install/profile/3patch/etc/init.d/root.diff?scratch_ws!= index dd1e1f2..46b9220 100644 --- a/install/profile/3patch/etc/init.d/root.diff?scratch_ws!= +++ b/install/profile/3patch/etc/init.d/root.diff?scratch_ws!= @@ -1,19 +1,27 @@ -22c22,37 -< Linux) mount -n -o remount,rw /;; ---- -> Linux) SCRATCH_ROOT=`sed -nr 's/(\S+)\s+\/newroot\s+.*/\1/p' /proc/mounts` -> if [ "$SCRATCH_ROOT" -a "${SCRATCH_ROOT}" != "tmpfs" ]; -> then -> mount -n $SCRATCH_ROOT /mnt/scratch -> if [[ -n `cat /proc/mounts | grep "none / aufs"` ]]; -> then -> mount -n -o remount,rw / -> mount -n -t aufs -o remount,rw none /mnt/builder -> else -> : -> fi -> mount -o loop -t squashfs /mnt/scratch/livecd.squashfs /mnt/scratch/calculate -> else -> mount -n -o remount,rw / -> fi -> ;; +--- root.orig 2009-09-08 19:06:18.000000000 +0400 ++++ root 2009-09-09 10:01:37.000000000 +0400 +@@ -19,7 +19,23 @@ + + ebegin "Remounting root filesystem read/write" + case "${RC_UNAME}" in +- Linux) mount -n -o remount,rw /;; ++ Linux) SCRATCH_ROOT=`sed -nr 's/(\S+)\s+\/newroot\s+.*/\1/p' /proc/mounts` ++ if [ "$SCRATCH_ROOT" -a "${SCRATCH_ROOT}" != "tmpfs" ]; ++ then ++ mount -n $SCRATCH_ROOT /mnt/scratch ++ if [[ -n `cat /proc/mounts | grep "none / aufs"` ]]; ++ then ++ mount -n -o remount,rw / ++ mount -n -t aufs -o remount,rw none /mnt/builder ++ else ++ mount -n -t unionfs -o remount,dirs=/mnt/scratch/workspace=rw:/mnt/scratch/delta=ro:/mnt/scratch/calculate=ro unionfs / ++ mount -n -t unionfs -o remount,dirs=/mnt/scratch/delta=rw:/mnt/scratch/calculate=ro unionfs /mnt/builder ++ fi ++ mount -o loop -t squashfs /mnt/scratch/livecd.squashfs /mnt/scratch/calculate ++ else ++ mount -n -o remount,rw / ++ fi ++ ;; + *) mount -u -o rw /;; + esac + if eend $? "Root filesystem could not be mounted read/write"; then