home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1999 May / pcp151c.iso / misc / src / trees / mksupp < prev    next >
Encoding:
Text File  |  1998-04-30  |  789 b   |  46 lines

  1. #!/bin/sh
  2.  
  3. PATH=/sbin:$PATH
  4. export PATH
  5.  
  6. IMAGE=../../../images/supp.img
  7. DIR=supp
  8. SIZE=1440
  9.  
  10. MNTPOINT=/tmp/mkimage.mnt-$$
  11.  
  12. if [ "$1" != "-f" ]; then
  13.     if [ -f $IMAGE ]; then
  14.     echo "$IMAGE already exists." >&2
  15.     exit 1
  16.     fi
  17. fi
  18.  
  19. rm -f $IMAGE
  20. dd if=/dev/zero of=$IMAGE bs=1k count=$SIZE 2> /dev/null
  21.  
  22. for devnum in 0 1 2 3 4 5 6 7 8; do
  23.     if losetup /dev/loop$devnum $IMAGE 2>/dev/null ; then break; fi
  24. done
  25.  
  26. if [ "$devnum" = "8" ]; then
  27.     rm -rf $MNTPOINT $IMAGE
  28.     echo "All of your loopback devices are in use!" >&2
  29.     exit 1
  30. fi
  31.  
  32. LODEV=/dev/loop$devnum
  33.  
  34. mke2fs -i 16384 -m 0 $LODEV $SIZE >/dev/null 2>/dev/null
  35.  
  36. mkdir $MNTPOINT
  37. mount -t ext2 $LODEV $MNTPOINT
  38.  
  39. (cd $DIR; tar cSpf - *) | (cd $MNTPOINT; tar xSpf -)
  40. df $MNTPOINT
  41.  
  42. umount $MNTPOINT
  43. losetup -d $LODEV
  44.  
  45. rm -rf $MNTPOINT 
  46.