blob: 8496ce0997c0bfe3b9e006a1333202624997f9c6 [file] [log] [blame]
xiaobo gue6c46862018-01-10 18:58:09 +08001#!/bin/bash
2
xiaobo gu0c2598b2019-06-28 11:22:17 +08003function select_uboot() {
4 local cfg_name=$1
Honglin Zhange358be42020-08-12 02:16:02 -04005
xiaobo gu0c2598b2019-06-28 11:22:17 +08006 cd ${MAIN_FOLDER}
7
8 for file in `ls -d ${BL33_DEFCFG1}/* ${BL33_DEFCFG2}/*`; do
9 temp_file=`basename $file`
10 #echo $temp_file
11 temp_file=${temp_file%_*}
12 if [ "$cfg_name" == "$temp_file" ]; then
Bo Lv0edfe512022-10-14 21:08:09 +080013 if [ "1" == "${CONFIG_BUILD_2019}" ]; then
xiaobo gu0c2598b2019-06-28 11:22:17 +080014 bl33_path=${UBOOT_FOLDER}/${UBOOT_VERSION2}
Bo Lv0edfe512022-10-14 21:08:09 +080015 else
16 if [ "${BL33_DEFCFG1}" == "$(dirname $file)" ]; then
17 bl33_path=${UBOOT_FOLDER}/${UBOOT_VERSION1}
18 else
19 bl33_path=${UBOOT_FOLDER}/${UBOOT_VERSION2}
20 fi
xiaobo gu0c2598b2019-06-28 11:22:17 +080021 fi
22 echo "select bl33: ${bl33_path}"
23 BL33_BUILD_FOLDER=${bl33_path}/build/
24 SOURCE_FILE=("${BL33_BUILD_FOLDER}.config")
25 CONFIG_FILE=("${BL33_BUILD_FOLDER}include/autoconf.mk")
26 UBOOT_SRC_FOLDER=${bl33_path}
27 break
28 fi
29 done
30 export BL33_BUILD_FOLDER SOURCE_FILE CONFIG_FILE UBOOT_SRC_FOLDER
31}
xiaobo gue6c46862018-01-10 18:58:09 +080032
33function pre_build_uboot() {
xiaobo gu0c2598b2019-06-28 11:22:17 +080034 select_uboot $1
xiaobo gue6c46862018-01-10 18:58:09 +080035 cd ${UBOOT_SRC_FOLDER}
36 echo -n "Compile config: "
37 echo "$1"
dongqing.li030579d2022-04-11 10:38:27 +080038 SOCNAME=$1
39 echo "SOCNAME:${SOCNAME}"
xiaobo gue6c46862018-01-10 18:58:09 +080040 make distclean # &> /dev/null
41 make $1'_config' # &> /dev/null
42 if [ $? != 0 ]
43 then
44 echo "Pre-build failed! exit!"
45 cd ${MAIN_FOLDER}
46 exit -1
47 fi
48 cd ${MAIN_FOLDER}
49}
50
51function build_uboot() {
wenbo.wang41c7d1f2022-11-22 14:48:57 +080052 set -e
Matthew Shyu9cf81ee2022-08-30 00:09:36 -070053 echo "Build uboot...Please Wait...$1...$2...$3...$4...$5"
xiaobo gue6c46862018-01-10 18:58:09 +080054 mkdir -p ${FIP_BUILD_FOLDER}
55 cd ${UBOOT_SRC_FOLDER}
Bo Lv6f135a82021-06-29 19:36:35 +080056 if [[ "${SCRIPT_ARG_CHIPSET_VARIANT}" =~ "nocs" ]] || [[ "${CONFIG_CHIPSET_VARIANT}" =~ "nocs" ]]; then
57 CONFIG_CHIP_NOCS=1
58 echo "### ${CONFIG_CHIP_NOCS} ###"
59 fi
dongqing.lidf6de9c2022-01-03 22:34:01 +080060 if [ "${CONFIG_MDUMP_COMPRESS}" = "1" ]; then
61 CONFIG_MDUMP_COMPRESS=1
62 echo "### BL33 CONFIG_MDUMP_COMPRESS = 1 ###"
Matthew Shyu9cf81ee2022-08-30 00:09:36 -070063 make -j SYSTEMMODE=$1 AVBMODE=$2 BOOTCTRLMODE=$3 FASTBOOTMODE=$4 AVB2RECOVERY=$5 CHIPMODE=${CONFIG_CHIP_NOCS} \
dongqing.lidf6de9c2022-01-03 22:34:01 +080064 CONFIG_MDUMP_COMPRESS=${CONFIG_MDUMP_COMPRESS} # &> /dev/null
65 else
66 echo "### BL33 CONFIG_MDUMP_COMPRESS = 0 ###"
Matthew Shyu9cf81ee2022-08-30 00:09:36 -070067 make -j SYSTEMMODE=$1 AVBMODE=$2 BOOTCTRLMODE=$3 FASTBOOTMODE=$4 AVB2RECOVERY=$5 CHIPMODE=${CONFIG_CHIP_NOCS} # &> /dev/null
dongqing.lidf6de9c2022-01-03 22:34:01 +080068 fi
wenbo.wang41c7d1f2022-11-22 14:48:57 +080069 set +e
Bo Lv6f135a82021-06-29 19:36:35 +080070
dongqing.li030579d2022-04-11 10:38:27 +080071 if [ "${CONFIG_SUPPORT_BL33Z}" = "1" ]; then
72 echo ""
dongqing.li82e38992022-06-23 15:56:15 +080073 set -e
dongqing.li030579d2022-04-11 10:38:27 +080074 echo "ramdump enable, build bl33z.bin for soc [${SOCNAME}] ..."
75 if [ -z "${SOCNAME}" ];then
76 SOCNAME=p1
77 fi
78 if [ -f "./bl33z/Makefile" ]; then
79 make -C bl33z/ PLAT=${SOCNAME} AARCH=aarch64 distclean
80 make -C bl33z/ PLAT=${SOCNAME} AARCH=aarch64
81 if [ -f "./bl33z/build/bl33z.bin" -a -f "./build/u-boot.bin" ]; then
82 # place bl33z at end of u-boot.bin, _end align(4096)
83 END_LENS=`ls -l ./build/u-boot.bin | awk '{print $5}'`
84 END_ALIGN=4096
85 BL33Z_LOAD=`echo "((($END_LENS-1) / $END_ALIGN * $END_ALIGN) + $END_ALIGN)" | bc`
86 echo "uboot.bin size:$END_LENS, align:$END_ALIGN, new uboot size:$BL33Z_LOAD"
87
88 dd if=/dev/zero of=u-boot.tmp bs=$BL33Z_LOAD count=1
89 dd if=./build/u-boot.bin of=u-boot.tmp conv=notrunc &> /dev/null
90 cat ./bl33z/build/bl33z.bin >> u-boot.tmp
91 cp -rf u-boot.tmp build/u-boot.bin
92 rm -rf u-boot.tmp
93 echo "Append bl33z.bin to the end of uboot.bin OK."
94 else
95 echo "Error: build bl33z.bin failed... abort"
96 fi
97 else
98 echo "Error: bl33z proj is not exist... abort"
99 fi
dongqing.li82e38992022-06-23 15:56:15 +0800100 set +e
dongqing.li030579d2022-04-11 10:38:27 +0800101 echo ""
102 fi
xiaobo gue6c46862018-01-10 18:58:09 +0800103 ret=$?
104 cd ${MAIN_FOLDER}
105 if [ 0 -ne $ret ]; then
106 echo "Error: U-boot build failed... abort"
107 exit -1
108 fi
109}
110
111function uboot_config_list() {
xiaobo gue6c46862018-01-10 18:58:09 +0800112 echo " ******Amlogic Configs******"
xiaobo gu0c2598b2019-06-28 11:22:17 +0800113 for file in `ls -d ${BL33_DEFCFG1}/* ${BL33_DEFCFG2}/*`; do
xiaobo gue6c46862018-01-10 18:58:09 +0800114 temp_file=`basename $file`
115 #echo "$temp_file"
xiaobo gu0c2598b2019-06-28 11:22:17 +0800116 temp_file=${temp_file%_*}
117 echo " ${temp_file}"
xiaobo gue6c46862018-01-10 18:58:09 +0800118 done
119
xiaobo gu0c2598b2019-06-28 11:22:17 +0800120 customer_folder1="${BL33_PATH1}/customer/board/defconfigs"
121 customer_folder2="${BL33_PATH2}/customer/board/defconfigs"
122 if [ -e ${customer_folder1} ]; then
xiaobo gue6c46862018-01-10 18:58:09 +0800123 echo " ******Customer Configs******"
xiaobo gu0c2598b2019-06-28 11:22:17 +0800124 for file in ${customer_folder1}/*; do
xiaobo gue6c46862018-01-10 18:58:09 +0800125 temp_file=`basename $file`
xiaobo gu0c2598b2019-06-28 11:22:17 +0800126 temp_file=${temp_file%_*}
127 echo " ${temp_file}"
xiaobo gue6c46862018-01-10 18:58:09 +0800128 done
129 fi
xiaobo gu0c2598b2019-06-28 11:22:17 +0800130 if [ -e ${customer_folder2} ]; then
131 for file in ${customer_folder2}/*; do
132 temp_file=`basename $file`
133 temp_file=${temp_file%_*}
134 echo " ${temp_file}"
135 done
136 fi
137
xiaobo gue6c46862018-01-10 18:58:09 +0800138 echo " ***************************"
139}
140
141function copy_bl33() {
xiaobo gua64f93c2018-07-31 21:27:43 +0800142 cp ${BL33_BUILD_FOLDER}/u-boot.bin ${FIP_BUILD_FOLDER}bl33.bin -f
xiaobo gu0c83cb62018-03-19 14:09:38 +0800143
144 # remove src link to prevent android "File system loop detected" issue
xiaobo gua64f93c2018-07-31 21:27:43 +0800145 #cd ${UBOOT_SRC_FOLDER}/build/
146 #rm source
xiaobo gu0c83cb62018-03-19 14:09:38 +0800147 cd ${MAIN_FOLDER}
xiaobo gua64f93c2018-07-31 21:27:43 +0800148}