- /dev: make a symlink to /proc/self/fd so that bash process
[vserver-reference.git] / vserver-reference.init
index 24ea95a..42263df 100755 (executable)
@@ -9,7 +9,7 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2004 The Trustees of Princeton University
 #
-# $Id: vserver-reference.init,v 1.3 2004/10/20 19:55:41 mlhuang Exp $
+# $Id: vserver-reference.init,v 1.7 2004/11/29 20:19:13 mlhuang Exp $
 #
 
 case "$1" in
@@ -41,7 +41,7 @@ exec &>/var/log/vserver-reference.log
 # Make /vservers
 mkdir -p $VROOTDIR
 chmod 000 $VROOTDIR
-chattr +t $VROOTDIR
+$PKGLIBDIR/setattr --barrier $VROOTDIR
 
 # Build image in /vservers/.vtmp
 mkdir -p $VROOTDIR/.vtmp
@@ -49,13 +49,12 @@ VROOT=$(mktemp -d $VROOTDIR/.vtmp/vserver-reference.XXXXXX)
 
 # Make /vservers/.vtmp/vserver-reference.XXXXXX
 mkdir -p $VROOT
-chattr -t $VROOT
 chmod 755 $VROOT
 
 echo -n $"Building VServer reference: " >&3 2>&4
 
 # Clean up before exiting if anything goes wrong
-trap "umount $VROOT/proc ; umount $VROOT/dev/pts ; chattr -R -i $VROOT ; rm -rf $VROOT ; failure >&3 2>&4 ; echo >&3 2>&4 ; exit 255" ERR
+trap "umount $VROOT/proc ; umount $VROOT/dev/pts ; rm -rf $VROOT ; failure >&3 2>&4 ; echo >&3 2>&4 ; exit 255" ERR
 
 MAKEDEV ()
 {
@@ -68,6 +67,7 @@ MAKEDEV ()
     mknod -m 644 $VROOT/dev/urandom c 1 9
     mknod -m 666 $VROOT/dev/tty c 5 0
     mknod -m 666 $VROOT/dev/ptmx c 5 2
+    ln -nsf ../proc/self/fd /dev/fd
     touch $VROOT/dev/hdv1
 }