Исправление патча для /etc/init.d/root

master
parent b1b1bbf4d7
commit c378d621fc

@ -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

Loading…
Cancel
Save