xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 3 | function select_uboot() { |
| 4 | local cfg_name=$1 |
Honglin Zhang | e358be4 | 2020-08-12 02:16:02 -0400 | [diff] [blame] | 5 | |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 6 | 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 |
| 13 | if [ "${BL33_DEFCFG1}" == "$(dirname $file)" ]; then |
| 14 | bl33_path=${UBOOT_FOLDER}/${UBOOT_VERSION1} |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 15 | else |
| 16 | bl33_path=${UBOOT_FOLDER}/${UBOOT_VERSION2} |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 17 | fi |
| 18 | echo "select bl33: ${bl33_path}" |
| 19 | BL33_BUILD_FOLDER=${bl33_path}/build/ |
| 20 | SOURCE_FILE=("${BL33_BUILD_FOLDER}.config") |
| 21 | CONFIG_FILE=("${BL33_BUILD_FOLDER}include/autoconf.mk") |
| 22 | UBOOT_SRC_FOLDER=${bl33_path} |
| 23 | break |
| 24 | fi |
| 25 | done |
| 26 | export BL33_BUILD_FOLDER SOURCE_FILE CONFIG_FILE UBOOT_SRC_FOLDER |
| 27 | } |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 28 | |
| 29 | function pre_build_uboot() { |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 30 | select_uboot $1 |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 31 | cd ${UBOOT_SRC_FOLDER} |
| 32 | echo -n "Compile config: " |
| 33 | echo "$1" |
dongqing.li | 030579d | 2022-04-11 10:38:27 +0800 | [diff] [blame^] | 34 | SOCNAME=$1 |
| 35 | echo "SOCNAME:${SOCNAME}" |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 36 | make distclean # &> /dev/null |
| 37 | make $1'_config' # &> /dev/null |
| 38 | if [ $? != 0 ] |
| 39 | then |
| 40 | echo "Pre-build failed! exit!" |
| 41 | cd ${MAIN_FOLDER} |
| 42 | exit -1 |
| 43 | fi |
| 44 | cd ${MAIN_FOLDER} |
| 45 | } |
| 46 | |
| 47 | function build_uboot() { |
Matthew Shyu | a4645b9 | 2022-04-06 20:20:19 -0700 | [diff] [blame] | 48 | echo "Build uboot...Please Wait...$1...$2...$3..." |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 49 | mkdir -p ${FIP_BUILD_FOLDER} |
| 50 | cd ${UBOOT_SRC_FOLDER} |
Bo Lv | 6f135a8 | 2021-06-29 19:36:35 +0800 | [diff] [blame] | 51 | if [[ "${SCRIPT_ARG_CHIPSET_VARIANT}" =~ "nocs" ]] || [[ "${CONFIG_CHIPSET_VARIANT}" =~ "nocs" ]]; then |
| 52 | CONFIG_CHIP_NOCS=1 |
| 53 | echo "### ${CONFIG_CHIP_NOCS} ###" |
| 54 | fi |
dongqing.li | df6de9c | 2022-01-03 22:34:01 +0800 | [diff] [blame] | 55 | if [ "${CONFIG_MDUMP_COMPRESS}" = "1" ]; then |
| 56 | CONFIG_MDUMP_COMPRESS=1 |
| 57 | echo "### BL33 CONFIG_MDUMP_COMPRESS = 1 ###" |
Matthew Shyu | a4645b9 | 2022-04-06 20:20:19 -0700 | [diff] [blame] | 58 | make -j SYSTEMMODE=$1 AVBMODE=$2 BOOTCTRLMODE=$3 CHIPMODE=${CONFIG_CHIP_NOCS} \ |
dongqing.li | df6de9c | 2022-01-03 22:34:01 +0800 | [diff] [blame] | 59 | CONFIG_MDUMP_COMPRESS=${CONFIG_MDUMP_COMPRESS} # &> /dev/null |
| 60 | else |
| 61 | echo "### BL33 CONFIG_MDUMP_COMPRESS = 0 ###" |
Matthew Shyu | a4645b9 | 2022-04-06 20:20:19 -0700 | [diff] [blame] | 62 | make -j SYSTEMMODE=$1 AVBMODE=$2 BOOTCTRLMODE=$3 CHIPMODE=${CONFIG_CHIP_NOCS} # &> /dev/null |
dongqing.li | df6de9c | 2022-01-03 22:34:01 +0800 | [diff] [blame] | 63 | fi |
Bo Lv | 6f135a8 | 2021-06-29 19:36:35 +0800 | [diff] [blame] | 64 | |
dongqing.li | 030579d | 2022-04-11 10:38:27 +0800 | [diff] [blame^] | 65 | if [ "${CONFIG_SUPPORT_BL33Z}" = "1" ]; then |
| 66 | echo "" |
| 67 | echo "ramdump enable, build bl33z.bin for soc [${SOCNAME}] ..." |
| 68 | if [ -z "${SOCNAME}" ];then |
| 69 | SOCNAME=p1 |
| 70 | fi |
| 71 | if [ -f "./bl33z/Makefile" ]; then |
| 72 | make -C bl33z/ PLAT=${SOCNAME} AARCH=aarch64 distclean |
| 73 | make -C bl33z/ PLAT=${SOCNAME} AARCH=aarch64 |
| 74 | if [ -f "./bl33z/build/bl33z.bin" -a -f "./build/u-boot.bin" ]; then |
| 75 | # place bl33z at end of u-boot.bin, _end align(4096) |
| 76 | END_LENS=`ls -l ./build/u-boot.bin | awk '{print $5}'` |
| 77 | END_ALIGN=4096 |
| 78 | BL33Z_LOAD=`echo "((($END_LENS-1) / $END_ALIGN * $END_ALIGN) + $END_ALIGN)" | bc` |
| 79 | echo "uboot.bin size:$END_LENS, align:$END_ALIGN, new uboot size:$BL33Z_LOAD" |
| 80 | |
| 81 | dd if=/dev/zero of=u-boot.tmp bs=$BL33Z_LOAD count=1 |
| 82 | dd if=./build/u-boot.bin of=u-boot.tmp conv=notrunc &> /dev/null |
| 83 | cat ./bl33z/build/bl33z.bin >> u-boot.tmp |
| 84 | cp -rf u-boot.tmp build/u-boot.bin |
| 85 | rm -rf u-boot.tmp |
| 86 | echo "Append bl33z.bin to the end of uboot.bin OK." |
| 87 | else |
| 88 | echo "Error: build bl33z.bin failed... abort" |
| 89 | fi |
| 90 | else |
| 91 | echo "Error: bl33z proj is not exist... abort" |
| 92 | fi |
| 93 | echo "" |
| 94 | fi |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 95 | ret=$? |
| 96 | cd ${MAIN_FOLDER} |
| 97 | if [ 0 -ne $ret ]; then |
| 98 | echo "Error: U-boot build failed... abort" |
| 99 | exit -1 |
| 100 | fi |
| 101 | } |
| 102 | |
| 103 | function uboot_config_list() { |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 104 | echo " ******Amlogic Configs******" |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 105 | for file in `ls -d ${BL33_DEFCFG1}/* ${BL33_DEFCFG2}/*`; do |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 106 | temp_file=`basename $file` |
| 107 | #echo "$temp_file" |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 108 | temp_file=${temp_file%_*} |
| 109 | echo " ${temp_file}" |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 110 | done |
| 111 | |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 112 | customer_folder1="${BL33_PATH1}/customer/board/defconfigs" |
| 113 | customer_folder2="${BL33_PATH2}/customer/board/defconfigs" |
| 114 | if [ -e ${customer_folder1} ]; then |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 115 | echo " ******Customer Configs******" |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 116 | for file in ${customer_folder1}/*; do |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 117 | temp_file=`basename $file` |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 118 | temp_file=${temp_file%_*} |
| 119 | echo " ${temp_file}" |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 120 | done |
| 121 | fi |
xiaobo gu | 0c2598b | 2019-06-28 11:22:17 +0800 | [diff] [blame] | 122 | if [ -e ${customer_folder2} ]; then |
| 123 | for file in ${customer_folder2}/*; do |
| 124 | temp_file=`basename $file` |
| 125 | temp_file=${temp_file%_*} |
| 126 | echo " ${temp_file}" |
| 127 | done |
| 128 | fi |
| 129 | |
xiaobo gu | e6c4686 | 2018-01-10 18:58:09 +0800 | [diff] [blame] | 130 | echo " ***************************" |
| 131 | } |
| 132 | |
| 133 | function copy_bl33() { |
xiaobo gu | a64f93c | 2018-07-31 21:27:43 +0800 | [diff] [blame] | 134 | cp ${BL33_BUILD_FOLDER}/u-boot.bin ${FIP_BUILD_FOLDER}bl33.bin -f |
xiaobo gu | 0c83cb6 | 2018-03-19 14:09:38 +0800 | [diff] [blame] | 135 | |
| 136 | # remove src link to prevent android "File system loop detected" issue |
xiaobo gu | a64f93c | 2018-07-31 21:27:43 +0800 | [diff] [blame] | 137 | #cd ${UBOOT_SRC_FOLDER}/build/ |
| 138 | #rm source |
xiaobo gu | 0c83cb6 | 2018-03-19 14:09:38 +0800 | [diff] [blame] | 139 | cd ${MAIN_FOLDER} |
xiaobo gu | a64f93c | 2018-07-31 21:27:43 +0800 | [diff] [blame] | 140 | } |