#!/usr/bin/bash set -u # ------------------------------------------------------------------------------ # READ FIRMWARE LIST # ------------------------------------------------------------------------------ source $REVOLUTION_SDK_ROOT/x86/bin/ndrun_fwlist # ------------------------------------------------------------------------------ # SET FIRMWARE # ------------------------------------------------------------------------------ if [ $# -eq 0 ] then echo "usage: setfirmware " echo " Sets the firmware for local or network." echo " * for network : ${FW_FOR_EXTENSION}" echo " * for local : ${FW_FOR_STANDARD}" exit 0 fi if [ "$NDEV" = "" ] then echo "NDEV is not found. Do nothing and exit." exit 0 fi if [ "$NDEV" != "" ] then echo "NDEV detected" # ------------------------------------------------------------------------ # 標準入力されたファームのメジャーバージョン情報をもとに、apploader.imgに # 埋め込むファームウェアのバージョン情報の抽出 # ------------------------------------------------------------------------ # まず、ndrun_fwlistをチェック。情報がリストになければswupdateファイル名の # 情報を利用する。最初からswupdateのファイル名を利用しない理由は、 # SDK標準搭載のswupdateは2つのファームが入っているため。 # プライベートリリースしたswupdateは1つのファームしか入っていないはず。 # ------------------------------------------------------------------------ SDK_ROOT=`cygpath -am ${REVOLUTION_SDK_ROOT}` VER_STR=`cat ${SDK_ROOT}/X86/bin/ndrun_fwlist | grep ${1} |sed 's/.*=//'|sed 's/\r\n//g'|sed 's/\"//g'` if [ -z $VER_STR ] ; then VER_STR=`find ${SDK_ROOT}/RVL/bin/tools/swupdate*.gcm -type f | grep ${1} |sed 's/.*swupdate\(.*\)_.*.gcm/\1/g'|sort -u|sed 's/\r\n//g'|sed 's/_/./g'` fi FIRMWARE_VERSION="NULL" for FIRMWARE_VERSION in $VER_STR ; do echo -n ;done if [ $FIRMWARE_VERSION != NULL ] ; then make -C ${SDK_ROOT}/RVL/boot FIRMWARE_VERSION=$FIRMWARE_VERSION mv -f ${SDK_ROOT}/RVL/boot/apploader.${FIRMWARE_VERSION}.img ${SDK_ROOT}/RVL/boot/apploader${1}.img echo fi # # change NDEV configuration # if cp -pf $REVOLUTION_SDK_ROOT/RVL/boot/apploader${1}.img $REVOLUTION_SDK_ROOT/RVL/boot/apploader.img && $REVOLUTION_SDK_ROOT/X86/bin/rvlbinconv -f $REVOLUTION_SDK_ROOT/X86/bin/rvl.bin -i ${1} then case $1 in `echo ${FW_FOR_EXTENSION}|sed s/.[^\.]*.[^\.]*$//`) echo "Successfully done. Set the firmware for EXTENSION." ;; `echo ${FW_FOR_STANDARD}|sed s/.[^\.]*.[^\.]*$//`) echo "Successfully done. Set the firmware for STANDARD." ;; *) echo "Successfully done. Set the unexpected firmware." ;; esac else echo "Failed to set the firmware version." exit 1 fi fi echo echo "**********************************************************************" echo "* If you make master data, you must execute ndrun before you do so!! *" echo "**********************************************************************" echo