############################################################################## # # mkintelflash -- construct an entire NETtel/x86 intel flash image. # # (C) Copyright 2001-2002, Greg Ungerer (gerg@snapgear.com) # ############################################################################## # # Define the files to use. # FLASH=images/flash.bin KERNEL=images/bzImage ROMFS=images/romfs.img JFFS=images/jffs.img JFFS2=images/jffs2.img BIOS=boot/x86/bios128k.bin FLASHSIZE=8388608 #FLASHSIZE=16777216 ############################################################################## usage() { echo "usage: mkintelflash" exit 1 } ############################################################################## # # Check for any args... # if [ $# -gt 0 ] then usage fi # # Figure out what filesystem type to use... # if [ -f "$JFFS2" ] then FSTYPE="JFFS2:" FS=$JFFS2 elif [ -f "$JFFS" ] then FSTYPE="JFFS: " FS=$JFFS elif [ -f "$ROMFS" ] then FSTYPE="ROMFS:" FS=$ROMFS else echo "ERROR: no filesystem image found??" exit 1 fi # # Kernel first (896k in size) # cat $KERNEL > $FLASH SIZE=`wc $FLASH | awk '{ print $3}'` PAD=`expr 1048576 - $SIZE` echo "KERNEL: flash size=$SIZE padding=$PAD" dd if=/dev/zero count=1 bs=$PAD >> $FLASH 2> /dev/null # # Filesystem image. # cat $FS >> $FLASH SIZE=`wc $FLASH | awk '{ print $3}'` PAD=`expr $FLASHSIZE - 131072 - $SIZE` echo "$FSTYPE flash size=$SIZE padding=$PAD" dd if=/dev/zero count=1 bs=$PAD 2> /dev/null | tr \\000 \\377 >> $FLASH # # BIOS (128k in size) # cat $BIOS >> $FLASH SIZE=`wc $FLASH | awk '{ print $3}'` echo "BIOS: flash size=$SIZE" exit 0