@@ -14,8 +14,11 @@ BOOT_IMG=./boot.img
1414BASE_DEFCONFIG=" defconfig"
1515CONFIG_FRAGMENT=" $DIR /kernel/configs/vamos.config"
1616
17- DTS_FILE=" $DIR /kernel/dts/sdm845-mici.dts"
18- DTB=" qcom/$( basename " ${DTS_FILE% .dts} .dtb" ) "
17+ COMMON_DTSI=" $DIR /kernel/dts/sdm845-comma-common.dtsi"
18+ DTS_FILES=(
19+ " $DIR /kernel/dts/sdm845-comma-mici.dts"
20+ " $DIR /kernel/dts/sdm845-comma-tizi.dts"
21+ )
1922
2023# Check submodule initted, need to run setup
2124if [ ! -f " $KERNEL_DIR /Makefile" ]; then
@@ -90,19 +93,29 @@ build_kernel() {
9093 echo " CONFIG_EXTRA_FIRMWARE_DIR=\" $DIR /kernel/firmware\" " >> out/.config
9194 make olddefconfig O=out
9295
96+ local dtb_targets=()
97+ local dts_name
98+ local IMAGE_GZ_DTB
99+
100+ for dts in " ${DTS_FILES[@]} " ; do
101+ dts_name=" $( basename " $dts " ) "
102+ dtb_targets+=(" qcom/${dts_name% .dts} .dtb" )
103+ done
104+
93105 echo " -- Building kernel with $( nproc) cores --"
94- make -j$( nproc) O=out Image.gz " $DTB "
106+ make -j$( nproc) O=out Image.gz " ${dtb_targets[@]} "
95107
96108 # Assemble Image.gz-dtb
97109 mkdir -p " $TMP_DIR "
98- DTB_PATH=" out/arch/arm64/boot/dts/$DTB "
99- if [ ! -f " $DTB_PATH " ]; then
100- echo " ERROR: DTB not found at $DTB_PATH "
101- find out/arch/arm64/boot/dts -name ' *.dtb' 2> /dev/null | head -20
102- exit 1
103- fi
110+ IMAGE_GZ_DTB=" $TMP_DIR /Image.gz-dtb"
111+ cp out/arch/arm64/boot/Image.gz " $IMAGE_GZ_DTB "
112+
113+ for dts in " ${DTS_FILES[@]} " ; do
114+ dts_name=" $( basename " $dts " ) "
115+ dtb_path=" out/arch/arm64/boot/dts/qcom/${dts_name% .dts} .dtb"
116+ cat " $dtb_path " >> " $IMAGE_GZ_DTB "
117+ done
104118
105- cat out/arch/arm64/boot/Image.gz " $DTB_PATH " > " $TMP_DIR /Image.gz-dtb"
106119 cd " $TMP_DIR "
107120
108121 # Create boot.img
@@ -147,14 +160,40 @@ cleanup() {
147160}
148161
149162install_dts () {
150- local dts_name dtb_name
163+ local dst_dir= " $KERNEL_DIR /arch/arm64/boot/dts/qcom "
151164
152- dts_name=" $( basename " $DTS_FILE " ) "
153- dtb_name=" ${dts_name% .dts} .dtb"
165+ echo " -- Installing DTS/DTSI files --"
154166
155- echo " -- Installing DTS $dts_name --"
156- cp " $DTS_FILE " " $KERNEL_DIR /arch/arm64/boot/dts/qcom/"
167+ cp " $COMMON_DTSI " " $dst_dir /"
168+ for dts in " ${DTS_FILES[@]} " ; do
169+ cp " $dts " " $dst_dir /"
170+ done
157171}
158172
159173# Run build inside container
160- docker exec -u " $( id -u) :$( id -g) " $CONTAINER_ID bash -c " set -e; export BASE_DEFCONFIG='$BASE_DEFCONFIG ' CONFIG_FRAGMENT='$CONFIG_FRAGMENT ' DTS_FILE='$DTS_FILE ' DIR=$DIR TOOLS=$TOOLS KERNEL_DIR=$KERNEL_DIR PATCHES_DIR=$PATCHES_DIR TMP_DIR=$TMP_DIR OUT_DIR=$OUT_DIR BOOT_IMG=$BOOT_IMG DTB=$DTB ; $( declare -f apply_patches build_kernel clean_kernel_tree install_dts) ; build_kernel"
174+ docker exec -i -u " $( id -u) :$( id -g) " " $CONTAINER_ID " bash << EOF
175+ set -e
176+
177+ BASE_DEFCONFIG='$BASE_DEFCONFIG '
178+ CONFIG_FRAGMENT='$CONFIG_FRAGMENT '
179+ COMMON_DTSI='$COMMON_DTSI '
180+ DIR='$DIR '
181+ TOOLS='$TOOLS '
182+ KERNEL_DIR='$KERNEL_DIR '
183+ PATCHES_DIR='$PATCHES_DIR '
184+ TMP_DIR='$TMP_DIR '
185+ OUT_DIR='$OUT_DIR '
186+ BOOT_IMG='$BOOT_IMG '
187+
188+ DTS_FILES=(
189+ '${DTS_FILES[0]} '
190+ '${DTS_FILES[1]} '
191+ )
192+
193+ $( declare -f apply_patches)
194+ $( declare -f build_kernel)
195+ $( declare -f clean_kernel_tree)
196+ $( declare -f install_dts)
197+
198+ build_kernel
199+ EOF
0 commit comments