1 #!/bin/bash 2 # Usage: uml-postsetupfs 3 4 # Configuration: 5 if [ -e userinstall-defaults-uml ]; then 6 source userinstall-defaults-uml 7 elif [ -e /etc/default/userinstall-uml ]; then 8 source /etc/default/userinstall-uml 9 else 10 echo "No defaults found for userinstall (UML)." 11 exit 1 12 fi 13 14 # Ensure that images have been set up. 15 if [ ! -e $UMLROOT ]; then 16 echo "No UML instances set up at $UMLROOT." 17 exit 1 18 fi 19 20 export IMAGE=$UMLROOT/rootfs 21 22 if [ ! -e $IMAGE ]; then 23 echo "No image set up at $IMAGE." 24 exit 1 25 fi 26 27 export IMAGEDIR=$UMLROOT/rootfsdir 28 29 if [ ! -e $IMAGEDIR ]; then 30 mkdir $IMAGEDIR 31 fi 32 33 echo "Initialising device files..." 34 chroot $PACKAGEROOT /bin/bash -c 'mount -t proc proc /proc; cd /dev; ./MAKEDEV generic; umount /proc' 35 36 echo "Accessing the image..." 37 mount -o loop $IMAGE $IMAGEDIR || exit 1 38 39 echo "Copying the filesystem into the image..." 40 cp -a $PACKAGEROOT/* $IMAGEDIR 41 42 echo "Unmounting the image..." 43 umount $IMAGEDIR 44 rmdir $IMAGEDIR