project:build.sh:Fix errors displayed when executing ./build.sh lunch and other syntax issues.

Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
This commit is contained in:
luckfox-eng29 2024-11-18 20:59:56 +08:00
parent 737ec6ffe2
commit 1723f324ab

View File

@ -137,6 +137,17 @@ function check_config() {
return 1
}
function __IS_IN_ARRAY() {
local value="$1"
shift
for item in "$@"; do
if [[ "$item" == "$value" ]]; then
return 0
fi
done
return 1
}
function choose_target_board() {
local LF_HARDWARE=("RV1103_Luckfox_Pico"
"RV1103_Luckfox_Pico_Mini_A"
@ -151,20 +162,31 @@ function choose_target_board() {
local cnt=0 space8=" "
# Get Hardware Version
local LUNCH_NUM=0
local HW_INDEX
echo "You're building on Linux"
echo -e "${C_GREEN} "${space8}Lunch menu...pick the Luckfox Pico hardware version:"${C_NORMAL}"
echo -e "${C_GREEN} "${space8}选择 Luckfox Pico 硬件版本:"${C_NORMAL}"
echo "${space8}${space8}[0] RV1103_Luckfox_Pico"
echo "${space8}${space8}[1] RV1103_Luckfox_Pico_Mini_A"
echo "${space8}${space8}[2] RV1103_Luckfox_Pico_Mini_B"
echo "${space8}${space8}[3] RV1103_Luckfox_Pico_Plus"
echo "${space8}${space8}[4] RV1106_Luckfox_Pico_Pro"
echo "${space8}${space8}[5] RV1106_Luckfox_Pico_Max"
echo "${space8}${space8}[6] RV1106_Luckfox_Pico_Ultra"
echo "${space8}${space8}[7] RV1106_Luckfox_Pico_Ultra_W"
echo "${space8}${space8}[8] custom"
read -p "Which would you like? [0~7][default:0]: " HW_INDEX
echo "${space8}${space8}[${LUNCH_NUM}] RV1103_Luckfox_Pico"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] RV1103_Luckfox_Pico_Mini_A"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] RV1103_Luckfox_Pico_Mini_B"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] RV1103_Luckfox_Pico_Plus"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] RV1106_Luckfox_Pico_Pro"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] RV1106_Luckfox_Pico_Max"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] RV1106_Luckfox_Pico_Ultra"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] RV1106_Luckfox_Pico_Ultra_W"
LUNCH_NUM=$((LUNCH_NUM + 1))
echo "${space8}${space8}[${LUNCH_NUM}] custom"
read -p "Which would you like? [0~${LUNCH_NUM}][default:0]: " HW_INDEX
if [ -z "$HW_INDEX" ]; then
HW_INDEX=0
@ -228,21 +250,45 @@ function choose_target_board() {
local BM_INDEX MAX_BM_INDEX
echo -e "${C_GREEN} "${space8}Lunch menu...pick the boot medium:"${C_NORMAL}"
echo -e "${C_GREEN} "${space8}选择启动媒介:"${C_NORMAL}"
if (("$HW_INDEX" >= 0 && "$HW_INDEX" <= 1)); then
#if (("$HW_INDEX" >= 0 && "$HW_INDEX" <= 1)); then
# echo "${space8}${space8}[0] SD_CARD"
# read -p "Which would you like? [0][default:0]: " BM_INDEX
# MAX_BM_INDEX=0
#elif (("$HW_INDEX" >= 2 && "$HW_INDEX" <= 5)); then
# echo "${space8}${space8}[0] SD_CARD"
# echo "${space8}${space8}[1] SPI_NAND"
# read -p "Which would you like? [0~1][default:0]: " BM_INDEX
# MAX_BM_INDEX=1
#elif (("$HW_INDEX" >= 6 && "$HW_INDEX" <= 7)); then
# echo "${space8}${space8}[0] EMMC"
# read -p "Which would you like? [0][default:0]: " BM_INDEX
# MAX_BM_INDEX=0
#fi
range_sd_card=(0 1)
range_sd_card_spi_nand=(2 3 4 5)
range_emmc=(6 7)
if __IS_IN_ARRAY "$HW_INDEX" "${range_sd_card[@]}"; then
echo "${space8}${space8}[0] SD_CARD"
read -p "Which would you like? [0][default:0]: " BM_INDEX
MAX_BM_INDEX=0
elif (("$HW_INDEX" >= 2 && "$HW_INDEX" <= 5)); then
elif __IS_IN_ARRAY "$HW_INDEX" "${range_sd_card_spi_nand[@]}"; then
echo "${space8}${space8}[0] SD_CARD"
echo "${space8}${space8}[1] SPI_NAND"
read -p "Which would you like? [0~1][default:0]: " BM_INDEX
MAX_BM_INDEX=1
elif (("$HW_INDEX" >= 6 && "$HW_INDEX" <= 7)); then
elif __IS_IN_ARRAY "$HW_INDEX" "${range_emmc[@]}"; then
echo "${space8}${space8}[0] EMMC"
read -p "Which would you like? [0][default:0]: " BM_INDEX
MAX_BM_INDEX=0
else
echo "Invalid HW_INDEX: $HW_INDEX"
exit 1
fi
# Default is 0
if [ -z "$BM_INDEX" ]; then
BM_INDEX=0
fi
@ -1297,7 +1343,7 @@ function build_clean() {
rm -rf ${SDK_ROOT_DIR}/output ${SDK_ROOT_DIR}/config
rm -rf ${SDK_ROOT_DIR}/sysdrv/source/kernel/out
rm -rf ${BOARD_CONFIG}
if [ -d ${SDK_SYSDRV_DIR}/source/buildroot ] && [ "$LF_TARGET_ROOTFS" != "ubuntu" ]; then
if [ -d ${SDK_SYSDRV_DIR}/source/buildroot ] && [ "$LF_TARGET_ROOTFS" = "buildroot" ]; then
rm -rf ${SDK_SYSDRV_DIR}/source/buildroot
fi
if [ -d ${SDK_SYSDRV_DIR}/source/busybox ]; then