@@ -19,88 +19,81 @@ command -v python3
1919[ " $? " != " 0" ] && { echo " Error: Python is not installed on this system." ; exit 0; }
2020
2121echo " Trying cross compiler..."
22- command -v ${TOOLCHAIN} gcc
23- [ " $? " != " 0" ] && { echo ${TOOLCHAIN} gcc not found! ; exit 0; }
24- export CROSS_COMPILE=$TOOLCHAIN
22+ command -v " ${TOOLCHAIN} gcc"
23+ [ " $? " != " 0" ] && { echo " ${TOOLCHAIN} gcc not found!" ; exit 0; }
24+ export CROSS_COMPILE=" $TOOLCHAIN "
2525
26- UBOOT_CFG=" ${SOC} _${BOARD} _defconfig"
2726ATF_CFG=" ${SOC} _${BOARD} _defconfig"
27+ UBOOT_CFG=" ${SOC} _${BOARD} _defconfig"
28+ for file in " $ATF_DIR /configs/$ATF_CFG " " $UBOOT_DIR /configs/$UBOOT_CFG " ; do
29+ if [ ! -f " $file " ]; then
30+ echo " $file not found!"
31+ exit 1
32+ fi
33+ done
34+
2835if grep -q " CONFIG_FLASH_DEVICE_EMMC=y" $ATF_DIR /configs/$ATF_CFG ; then
2936 # No fixed-mtdparts or multilayout for EMMC
3037 fixedparts=0
3138 multilayout=0
32- echo " Building for: ${SOC} _${BOARD} "
33- echo " u-boot dir: $UBOOT_DIR "
34- echo " atf dir: $ATF_DIR "
3539else
3640 # Build fixed-mtdparts by default for NAND
3741 fixedparts=${FIXED_MTDPARTS:- 1}
3842 multilayout=${MULTI_LAYOUT:- 0}
3943 if [ " $multilayout " = " 1" ]; then
4044 UBOOT_CFG=" ${SOC} _${BOARD} _multi_layout_defconfig"
4145 fi
42- echo " Building for: ${SOC} _${BOARD} , fixed-mtdparts: $fixedparts , multi-layout: $multilayout "
43- echo " u-boot dir: $UBOOT_DIR "
44- echo " atf dir: $ATF_DIR "
4546fi
47+ echo " Building for: ${SOC} _${BOARD} , fixed-mtdparts: $fixedparts , multi-layout: $multilayout "
48+ echo " u-boot dir: $UBOOT_DIR "
49+ echo " atf dir: $ATF_DIR "
4650
47-
48- if [ ! -f $UBOOT_DIR /configs/$UBOOT_CFG ]; then
49- echo " $UBOOT_DIR /configs/$UBOOT_CFG not found!"
50- exit 1
51+ echo " Build u-boot..."
52+ rm -f " $UBOOT_DIR /u-boot.bin"
53+ cp -f " $UBOOT_DIR /configs/$UBOOT_CFG " " $UBOOT_DIR /.config"
54+ if [ " $fixedparts " = " 1" ]; then
55+ echo " Build u-boot with fixed-mtdparts!"
56+ echo " CONFIG_MEDIATEK_UBI_FIXED_MTDPARTS=y" >> " $UBOOT_DIR /.config"
57+ echo " CONFIG_MTK_FIXED_MTD_MTDPARTS=y" >> " $UBOOT_DIR /.config"
58+ fi
59+ make -C " $UBOOT_DIR " olddefconfig
60+ make -C " $UBOOT_DIR " -j $( nproc) all
61+ if [ -f " $UBOOT_DIR /u-boot.bin" ]; then
62+ cp -f " $UBOOT_DIR /u-boot.bin" " $ATF_DIR /u-boot.bin"
63+ echo " u-boot build done!"
5164else
52- echo " Build u-boot..."
53- rm -f $UBOOT_DIR /u-boot.bin
54- cp -f $UBOOT_DIR /configs/$UBOOT_CFG $UBOOT_DIR /.config
65+ echo " u-boot build fail!"
66+ exit 1
67+ fi
68+
69+ echo " Build atf..."
70+ make -C " $ATF_DIR " -f makefile " $ATF_CFG " CONFIG_CROSS_COMPILER=" ${TOOLCHAIN} "
71+ make -C " $ATF_DIR " -f makefile clean CONFIG_CROSS_COMPILER=" ${TOOLCHAIN} "
72+ rm -rf " $ATF_DIR /build"
73+ make -C " $ATF_DIR " -f makefile all CONFIG_CROSS_COMPILER=" ${TOOLCHAIN} "
74+
75+ mkdir -p " output"
76+ if [ -f " $ATF_DIR /build/${SOC} /release/fip.bin" ]; then
77+ FIP_NAME=" ${SOC} _${BOARD} -fip"
5578 if [ " $fixedparts " = " 1" ]; then
56- echo " Build u-boot with fixed-mtdparts!"
57- echo " CONFIG_MEDIATEK_UBI_FIXED_MTDPARTS=y" >> $UBOOT_DIR /.config
58- echo " CONFIG_MTK_FIXED_MTD_MTDPARTS=y" >> $UBOOT_DIR /.config
79+ FIP_NAME=" ${FIP_NAME} -fixed-parts"
5980 fi
60- make -C $UBOOT_DIR olddefconfig
61- make -C $UBOOT_DIR -j $( nproc) all
62- if [ -f " $UBOOT_DIR /u-boot.bin" ]; then
63- cp -f $UBOOT_DIR /u-boot.bin $ATF_DIR /u-boot.bin
64- echo " u-boot build done!"
65- else
66- echo " u-boot build fail!"
67- exit 1
81+ if [ " $multilayout " = " 1" ]; then
82+ FIP_NAME=" ${FIP_NAME} -multi-layout"
6883 fi
69- fi
70-
71- if [ ! -f $ATF_DIR /configs/$ATF_CFG ]; then
72- echo " $ATF_DIR /configs/$ATF_CFG not found!"
73- exit 1
84+ cp -f " $ATF_DIR /build/${SOC} /release/fip.bin" " output/${FIP_NAME} .bin"
85+ echo " $FIP_NAME build done"
7486else
75- echo " Build atf..."
76- make -C $ATF_DIR -f makefile $ATF_CFG CONFIG_CROSS_COMPILER=${TOOLCHAIN}
77- make -C $ATF_DIR -f makefile clean CONFIG_CROSS_COMPILER=${TOOLCHAIN}
78- rm -rf $ATF_DIR /build
79- make -C $ATF_DIR -f makefile all CONFIG_CROSS_COMPILER=${TOOLCHAIN}
80- if [ -f " $ATF_DIR /build/${SOC} /release/fip.bin" ]; then
81- mkdir -p output
82- FIP_NAME=" ${SOC} _${BOARD} -fip"
83- if [ " $fixedparts " = " 1" ]; then
84- FIP_NAME=" ${FIP_NAME} -fixed-parts"
85- fi
86- if [ " $multilayout " = " 1" ]; then
87- FIP_NAME=" ${FIP_NAME} -multi-layout"
88- fi
89- cp -f $ATF_DIR /build/${SOC} /release/fip.bin output/${FIP_NAME} .bin
90- echo " $FIP_NAME build done"
87+ echo " fip build fail!"
88+ exit 1
89+ fi
90+ if grep -q " CONFIG_TARGET_ALL_NO_SEC_BOOT=y" " $ATF_DIR /configs/$ATF_CFG " ; then
91+ if [ -f " $ATF_DIR /build/${SOC} /release/bl2.img" ]; then
92+ BL2_NAME=" ${SOC} _${BOARD} -bl2"
93+ cp -f " $ATF_DIR /build/${SOC} /release/bl2.img" " output/${BL2_NAME} .bin"
94+ echo " $BL2_NAME build done"
9195 else
92- echo " fip build fail!"
96+ echo " bl2 build fail!"
9397 exit 1
9498 fi
95- if grep -q " CONFIG_TARGET_ALL_NO_SEC_BOOT=y" $ATF_DIR /configs/$ATF_CFG ; then
96- if [ -f " $ATF_DIR /build/${SOC} /release/bl2.img" ]; then
97- [ ! -d " ./output" ] && mkdir -p output
98- BL2_NAME=" ${SOC} _${BOARD} -bl2"
99- cp -f $ATF_DIR /build/${SOC} /release/bl2.img output/${BL2_NAME} .bin
100- echo " $BL2_NAME build done"
101- else
102- echo " bl2 build fail!"
103- exit 1
104- fi
105- fi
10699fi
0 commit comments