现在的位置: 首页 > 综合 > 正文

shell脚本下制作文件升级系统

2013年10月09日 ⁄ 综合 ⁄ 共 2676字 ⁄ 字号 评论关闭

目前的代码只是包含了制作文件镜像,生成文件系统的部分

#!/bin/sh
#LOG="./version_make.log"
ROOT_PATH="./update_file/network_update"
LOG="./update_file/version_make.log"
VER_F="./rootfs_V1123/home/version"
#**************************************************************************

VENDOR_LIST="base test"
valid=0

VENDOR=$1
VER=$2
DATE=$3
mkramdisk()
{
	echo "make filesystem"
	rm $VER_F
	date >> $VER_F
	echo $VER >> $VER_F
	echo $DATE >> $VER_F #date use to display the ver
	make all
	cp -f rootfs_ext2.gz mkupdata_file/rootfs.jffs2
	
	return 0
}

mkjffs2()
{
	echo "make filesystem"

	#for 128KB block
	#mkfs.jffs2 -d rootfs_V1123 -o rootfs.jffs2 -e 0x20000
	#for 64KB block
	#mkfs.jffs2 -d rootfs_V1123 -o rootfs.jffs2

	#use read-only system
	mkfs.cramfs rootfs_V1123 rootfs.jffs2

	cp -f rootfs.jffs2 mkupdata_file/
	#cp -f rootfs.jffs2 /tftpboot/

	return 0
}
#**************************************************************************


if [ -z $VENDOR ]; then
	echo "Usage: go.sh vendor ver"
	echo "    vendor list: $VENDOR_LIST"
	exit
fi

if [ -z $VER ]; then
	echo "Usage: go.sh vendor ver"
	exit
fi

for n in $VENDOR_LIST; do
	if [ $VENDOR = $n ]; then
		valid=1
		break;
	fi
done

if [ $valid = 0 ]; then
	echo "Invalid vendor: $VENDOR"
	echo "    option list: $VENDOR_LIST"
	exit
fi
#**************make log******************************
date >> $LOG
echo "make MDVRB_v$VER _$VENDOR.bin" >> $LOG
#cp "version_make.log" $LOG1
#****************************************************
echo "copy special file for $VENDOR"

#copy common file
rm -rf rootfs_V1123/root/tl_app/data/pics
tar xfz vendor/common/pics.tgz -C rootfs_V1123/root/tl_app/data/

cp -f vendor/common/logo_576.png rootfs_V1123/root/tl_app/data/pics/
cp -fr vendor/common/my_icon rootfs_V1123/root/tl_app/data/pics/
cp -f vendor/common/uImage_mr9104 mkupdata_file/uImage_hs3512
cp -f vendor/common/hwtest rootfs_V1123/sbin
#cp -f vendor/common/u-boot_combo2.bin mkupdata_file/u-boot_combo2.bin

#cp -f vendor/common/tw_2864.ko rootfs_V1123/root/tl_modules/our_modules/

if [ $VENDOR = "canrun" ]; then
	echo "copy 32x32 font"
	cp -f vendor/$VENDOR/heigb2312.DZK rootfs_V1123/root/tl_app/data/fonts/
	cp -f vendor/$VENDOR/logo_576.png rootfs_V1123/root/tl_app/data/pics/
	cp -f vendor/$VENDOR/u-boot_combo2_carrun.bin mkupdata_file/u-boot_combo2.bin
fi

if [ $VENDOR = "honghui" ]; then
	echo "copy honghui logo"
	cp -f vendor/$VENDOR/logo_576.png rootfs_V1123/root/tl_app/data/pics/
fi

if [ $VENDOR = "bizi" ]; then
	echo "### using 16K audio ###"
	cp -f vendor/bizi/tw_2864_54M_16K.ko rootfs_V1123/root/tl_modules/our_modules/tw_2864.ko
fi

if [ $? -ne 0 ]; then
	echo "###### copy file error ######"
	exit -1
fi


mkramdisk


echo "vendor: $VENDOR, version:$VER"

echo "make update file"
cd mkupdata_file
./gen.sh $VENDOR $VER  #升级镜像 		

if [ $VER -lt 100 ]; then
	cp -f DVR.bin ../MDVRB_v0$VER\_$VENDOR.bin
else
	cp -f DVR.bin ../MDVRB_v$VER\_$VENDOR.bin
fi

cd -
mv MDVRB_v$VER\_$VENDOR.bin $ROOT_PATH/

./crc_add.sh $VER   #添加crc校验位
	
if [ $VENDOR = "canrun" ]; then
	echo "delete font"
	rm -f rootfs_V1123/root/tl_app/data/fonts/heigb2312.DZK
fi

 

抱歉!评论已关闭.