home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1999 November / VPR9911B.ISO / misc / src / trees / mkstage2 < prev    next >
Text File  |  1999-08-30  |  1KB  |  56 lines

  1. #!/bin/sh
  2.  
  3. if [ $(stat $0 | awk '/Device/ { print $2 }') = "0,0" ] ; then
  4.     echo "Don't run $0 over nfs!"
  5.     exit 1
  6. fi
  7.  
  8. PATH=/sbin:$PATH
  9. export PATH
  10.  
  11. IMAGE=../../../LASER5/base/stage2.img
  12. DIR=supp
  13. MODULES=../../../LASER5/instimage
  14. SIZE=3500
  15.  
  16. MNTPOINT=/tmp/mkimage.mnt-$$
  17.  
  18. if [ "$1" != "-f" ]; then
  19.     if [ -f $IMAGE ]; then
  20.     echo "$IMAGE already exists." >&2
  21.     exit 1
  22.     fi
  23. fi
  24.  
  25. mkdir -p `dirname $IMAGE`
  26. rm -f $IMAGE
  27. dd if=/dev/zero of=$IMAGE bs=1k count=$SIZE 2> /dev/null
  28.  
  29. for devnum in 0 1 2 3 4 5 6 7 8; do
  30.     if losetup /dev/loop$devnum $IMAGE 2>/dev/null ; then break; fi
  31. done
  32.  
  33. if [ "$devnum" = "8" ]; then
  34.     rm -rf $MNTPOINT $IMAGE
  35.     echo "All of your loopback devices are in use!" >&2
  36.     exit 1
  37. fi
  38.  
  39. LODEV=/dev/loop$devnum
  40.  
  41. mke2fs -i 16384 -m 0 $LODEV $SIZE >/dev/null 2>/dev/null
  42.  
  43. mkdir $MNTPOINT
  44. mount -t ext2 $LODEV $MNTPOINT
  45.  
  46. (cd $DIR; tar cSpf - *) | (cd $MNTPOINT; tar xSpfv -)
  47. (cd $MODULES; tar cSpf - modules) | (cd $MNTPOINT; tar xSpfv -)
  48. df $MNTPOINT
  49.  
  50. umount $MNTPOINT
  51. losetup -d $LODEV
  52.  
  53. rm -rf $MNTPOINT 
  54. gzip -9 $IMAGE
  55. mv $IMAGE.gz $IMAGE
  56.