home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / trees / mkinitrd < prev    next >
Text File  |  1997-10-02  |  732b  |  46 lines

  1. #!/bin/sh
  2.  
  3. PATH=/sbin:$PATH
  4. export PATH
  5.  
  6. IMAGE=initrd.img
  7. DIR=initrd
  8. SIZE=1800
  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 /tmp/initrd.img
  20. dd if=/dev/zero of=/tmp/initrd.img bs=1k count=$SIZE
  21. mke2fs -q /tmp/initrd.img $SIZE <<EOF
  22. y
  23. EOF
  24.  
  25. mkdir -p $MNTPOINT
  26.  
  27. mount -o loop -t ext2 /tmp/initrd.img $MNTPOINT
  28.  
  29. (cd $DIR; find . | cpio -vp $MNTPOINT)
  30.  
  31. df $MNTPOINT
  32.  
  33. umount $MNTPOINT
  34. mv -f /tmp/initrd.img .
  35. echo -n "gzipping image..."
  36. mv $IMAGE $IMAGE.nogz
  37. gzip -9 < $IMAGE.nogz > $IMAGE
  38. echo " done."
  39.  
  40. rm -rf $MNTPOINT 
  41.  
  42. size=`cat $IMAGE initrd.img | wc -c`
  43. filler=`expr 1474560 - $size`
  44.  
  45. cp $IMAGE ../../../dosutils/autoboot/initrd.img
  46.