home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / trees / mkboot < prev    next >
Text File  |  1997-08-20  |  791b  |  49 lines

  1. #!/bin/sh
  2.  
  3. PATH=/sbin:$PATH
  4. export PATH
  5.  
  6. IMAGE=../../../images/boot.img
  7. DIR=boot
  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. ./mkinitrd $1
  20.  
  21. dd if=/dev/zero of=$IMAGE bs=1k count=$SIZE 2> /dev/null
  22.  
  23. for devnum in 0 1 2 3 4 5 6 7 8; do
  24.     if losetup /dev/loop$devnum $IMAGE 2>/dev/null ; then break; fi
  25. done
  26.  
  27. if [ "$devnum" = "8" ]; then
  28.     rm -rf $MNTPOINT $IMAGE
  29.     echo "All of your loopback devices are in use!" >&2
  30.     exit 1
  31. fi
  32.  
  33. LODEV=/dev/loop$devnum
  34.  
  35. gunzip < syslinux/img1440k.gz | dd of=$LODEV
  36.  
  37. mkdir $MNTPOINT
  38. mount -t msdos $LODEV $MNTPOINT
  39.  
  40. (cd $DIR; find . | cpio -pv $MNTPOINT)
  41. cp initrd.img $MNTPOINT
  42.  
  43. df $MNTPOINT
  44.  
  45. umount $MNTPOINT
  46. losetup -d $LODEV
  47.  
  48. rm -rf $MNTPOINT 
  49.