全志A64 lichee编译脚本build.sh分析
发布时间:2018-08-22 15:58,
浏览次数:269
, 标签:
lichee
build
sh
lichee目录下的./build.sh脚本:
set -e #用于指此脚本里执行的命令返回值非0时,终止当前脚本的执行. buildroot/scripts/mkcommon.sh $@
#接着执行mkcommon.sh脚本,并把执行"./build.sh"附带的所有参数($@)传递过去,这里$@是空的.
buildroot/scripts/mkcommon.sh:
BR_SCRIPTS_DIR=`dirname $0` #$0表示第0个参数,即是"buildroot/scripts/mkcommon.sh"
#dirname命令用于获取路径, `dirname $0`获取得到"buildroot/scripts" . ${BR_SCRIPTS_DIR}
/shflags/shflags [-f .buildconfig ] && . .buildconfig
#如有.buildconfig文件,则导出里面的变量. 此文件是由"./build.sh config"生成的. . ${BR_SCRIPTS_DIR}
/mkcmd.sh#导出脚本里的下面function命令,以便在当前脚本里可以调用访问. mkboot build boot mkbr build
buildroot mkkernel build kernel mkrootfs build rootfsfor linux, dragonboard
mklichee build total lichee mkclean clean current board output mkdistclean
clean entires output mkpack pack firmwarefor lichee mkhelp show this message [
-f .buildconfig ] && . .buildconfig #如有.buildconfig文件,则导出下面的环境变量. 此文件用于指定编译的目标平台
export LICHEE_CHIP=sun50iw1p1 export LICHEE_PLATFORM=android export
LICHEE_SECURE=export LICHEE_KERN_VER=linux-3.10 export LICHEE_BOARD=p1 if [ "x$1
" = "xconfig" ] ; then #执行"./build.sh config"时触发 . ${BR_SCRIPTS_DIR}/mksetup.sh
#出现选择界面 exit $? #返回 elif [ "x$1" = "xpack" ] ; then #执行"./build.sh pack"时触发 if [
"x$2" = "x-d" ] ; then init_defconf
#init_defconf命令是由buildroot/scripts/mkcmd.sh里提供的 mkpack -d card0
#mkpack命令是由buildroot/scripts/mkcmd.sh里提供的 exit $? else init_defconf mkpack exit
$?fi elif [ "x$1" = "xpack_debug" ] ; then #执行"./build.sh pack_debug"时触发
init_defconf mkpack-d card0 exit $? elif [ "x$1" = "xpack_dump" ] ; then
#执行"./build.sh pack_dump"时触发 init_defconf mkpack -m dump exit $? elif [ "x$1" =
"xpack_secure" ] ; then #执行"./build.sh pack_secure"时触发 init_defconf mkpack -s
secureexit $? elif [ "x$1" = "xpack_debug_secure" ] ; then #执行"./build.sh
pack_debug_secure"时触发 init_defconf mkpack -s