UPDATESIMG=/tmp/product.img MNTPOINT=/tmp/productimg PRODUCTDIR=../product.img.dir if [ -f locations.include ] ; then . ./locations.include else if [ -f ../locations.include ] ; then . ../locations.include fi fi if [ ! -d $PRODUCTDIR ] ; then echo "You do not have $PRODUCTDIR, so skipping creation of product.img" exit else echo "You have $PRODUCTDIR so creating product.img" fi IMAGESIZE=`du -s $PRODUCTDIR | cut -f1` if [ $IMAGESIZE -le 65 ] ; then echo "Image was too small so had to make it bigger" IMAGESIZE=65 fi echo $IMAGESIZE dd if=/dev/zero of=$UPDATESIMG bs=1k count=$IMAGESIZE /sbin/mke2fs -F -q -i 1024 -b 1024 $UPDATESIMG $IMAGESIZE rm -rf $MNTPOINT mkdir $MNTPOINT mount -o loop,sync -t ext2 $UPDATESIMG $MNTPOINT /bin/rm -r $MNTPOINT/lost+found (cd $PRODUCTDIR ; find . | cpio -pvdum $MNTPOINT) sync sync sync umount $MNTPOINT #if [ -f ../../base/stage2.img ]; then # mount -o loop ../../base/stage2.img $MNTPOINT # cp $MNTPOINT/.buildstamp /tmp/.buildstamp # umount $MNTPOINT #fi mount -o loop,sync -t ext2 $UPDATESIMG $MNTPOINT #cp /tmp/.buildstamp $MNTPOINT/.buildstamp #cp /tmp/.buildstamp $PRODUCTDIR/.buildstamp sync sync sync umount $MNTPOINT #CJS we need to verify that what we think we copied to the .img is really there echo "Verifying that the image was made correctly" mount -o loop,ro -t ext2 $UPDATESIMG $MNTPOINT diff -r $MNTPOINT $PRODUCTDIR if [ $? != 0 ] ; then echo "The newly created $UPDATESIMG does not match $PRODUCTDIR" umount $MNTPOINT exit 1 fi umount $MNTPOINT cp -v $UPDATESIMG ../../images