代码拉取完成,页面将自动刷新
# b.sh
#
# (c) Copyright 2013
# Allwinner Technology Co., Ltd. <www.allwinnertech.com>
# wangwei <wangwei@allwinnertech.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
BUILD_CHIP="sun50iw2p1"
BUILD_CONFIG_FILE=".config"
set -e
build_select_chip()
{
local count=0
printf "All valid Sunxi chip:\n"
for chip in $( find "$BUILD_UBOOT/arch/arm/cpu/armv7/" -mindepth 1 -maxdepth 1 -type d -name "sun[0-9]*" |sort); do
chips[$count]=`basename $chip`
printf "$count. ${chips[$count]}\n"
let count=$count+1
done
while true; do
read -p "Please select a chip:"
RES=`expr match $REPLY "[0-9][0-9]*$"`
if [ "$RES" -le 0 ]; then
echo "please use index number"
continue
fi
if [ "$REPLY" -ge $count ]; then
echo "too big"
continue
fi
if [ "$REPLY" -lt "0" ]; then
echo "too small"
continue
fi
break
done
BUILD_CHIP=${chips[$REPLY]}
}
build_select_build_uboot()
{
local count=0
local length=0
build_uboot=(u-boot-2011.09 u-boot-2014.07)
printf "All valid u-boot version:\n"
length=`expr ${#build_uboot[@]} - 1`
for count in `seq 0 $length`; do
printf "$count. ${build_uboot[$count]}\n"
done
let count=$count+1
while true; do
read -p "Please select a build type:"
RES=`expr match $REPLY "[0-9][0-9]*$"`
if [ "$RES" -le 0 ]; then
echo "please use index number"
continue
fi
if [ "$REPLY" -ge $count ]; then
echo "too big"
continue
fi
if [ "$REPLY" -lt "0" ]; then
echo "too small"
continue
fi
break
done
BUILD_UBOOT=${build_uboot[$REPLY]}
}
build_get_config_form_user()
{
build_select_build_uboot
build_select_chip
}
build_write_config_to_file()
{
rm -rf $BUILD_CONFIG_FILE
echo "BUILD_CHIP :${BUILD_CHIP}" >> $BUILD_CONFIG_FILE
echo "BUILD_UBOOT :$BUILD_UBOOT" >> $BUILD_CONFIG_FILE
}
build_get_config_from_file()
{
BUILD_CHIP=`cat $BUILD_CONFIG_FILE | awk -F"[:|=]" '(NF&&$1~/^[[:space:]]*BUILD_CHIP/) {printf "%s",$2}'`
BUILD_UBOOT=`cat $BUILD_CONFIG_FILE | awk -F"[:|=]" '(NF&&$1~/^[[:space:]]*BUILD_UBOOT/) {printf "%s",$2}'`
}
build_show_config()
{
printf "\nconfig information is:\n"
echo -e '\033[0;31;36m'
printf "BUILD_CHIP : ${BUILD_CHIP}\n"
printf "BUILD_UBOOT : ${BUILD_UBOOT}\n"
echo -e '\033[0m'
}
build_show_help()
{
printf "
(c) Copyright 2016
Allwinner Technology Co., Ltd. <www.allwinnertech.com>
wangwei <wangwei@allwinnertech.com>
NAME
build - The top level build script to build Sunxi platform bootloader
OPTIONS
-h display help message
config config the platform which we want to build
clean clean the tmp file
distclean clean the tmp file and configure file
showconfig show the current compile config
uboot build uboot
boot0 build boot0
fes build fes
sboot build secure boot
spl build boot0 fes sboot in one time
pack pack img
pack_debug pack img,switch uart to card0
pack_secure pack secure img
"
}
if [ "$1" == "-h" ]; then
build_show_help
exit
fi
if [[ "$1" == config ]]; then
build_get_config_form_user
build_write_config_to_file
cd $BUILD_UBOOT
make distclean
if [[ "$BUILD_UBOOT" == "u-boot-2011.09" ]]; then
make ${BUILD_CHIP}p1_config
else
make ${BUILD_CHIP}_config
fi
cd ..
exit
fi
if [ -f $BUILD_CONFIG_FILE ]; then
build_get_config_from_file
else
echo -e '\033[0;31;36m'
echo "you should run ./build.sh config at first"
echo -e '\033[0m'
exit
fi
#
# Build the u-boot SunxiPlatform code
#
#build_show_config
for arg in "$@"
do
if [[ $arg == clean ]]; then
echo "clean the build..."
cd $BUILD_UBOOT; make clean; cd ..
exit
elif [[ $arg == distclean ]]; then
echo "distclean the build..."
cd $BUILD_UBOOT; make distclean; cd ..
rm -rf $BUILD_CONFIG_FILE
exit
elif [[ $arg == showconfig ]]; then
build_show_config
exit
elif [[ $arg == uboot ]]; then
cd $BUILD_UBOOT
make -j
cd ..
exit
elif [[ $arg == boot0 ]]; then
cd $BUILD_UBOOT
make boot0
cd ..
exit
elif [[ $arg == fes ]]; then
cd $BUILD_UBOOT
make fes
cd ..
exit
elif [[ $arg == sboot ]]; then
cd $BUILD_UBOOT
make sboot
cd ..
exit
elif [[ $arg == spl ]]; then
cd $BUILD_UBOOT
make spl
cd ..
exit
elif [[ $arg == pack ]]; then
cd ..
./build.sh pack
cd brandy
exit
elif [[ $arg == pack_secure ]]; then
cd ..
./build.sh pack_secure
cd brandy
exit
elif [[ $arg == pack_debug ]]; then
cd ..
./build.sh pack_debug
cd brandy
exit
else
echo "invalid paramters"
exit
fi
done
#
#if the input paramters is null, just build all.
#
cd $BUILD_UBOOT
make -j && make spl
cd ..
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。