tizen: add build script about amlogic board 76/247376/1
authorJaehoon Chung <jh80.chung@samsung.com>
Tue, 10 Nov 2020 07:07:20 +0000 (16:07 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Tue, 10 Nov 2020 08:04:02 +0000 (17:04 +0900)
It's complicated to build amlogic boards.
It will be helpful to provide the build script about each boards.

Change-Id: Iaa17e3a728ba323e2de81f6deaf1b3bf92b91ae5
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
tizen/build-kvim3.sh [new file with mode: 0755]
tizen/build-odroid-c4.sh [new file with mode: 0755]
tizen/build-odroid-n2.sh [new file with mode: 0755]

diff --git a/tizen/build-kvim3.sh b/tizen/build-kvim3.sh
new file mode 100755 (executable)
index 0000000..d696250
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+CROSS_COMPILER=/usr/bin/aarch64-linux-gnu-
+JOBS="-j 5"
+
+# Check this system has ccache
+check_ccache()
+{
+       type ccache
+       if [ "$?" -eq "0" ]; then
+               CCACHE=ccache
+       fi
+}
+
+build_uboot()
+{
+       if [ -d output ]; then
+               rm output/vim3/*
+               rm output/*
+       fi
+
+       [ -d output/vim3 ] || mkdir -p output/vim3
+
+       if ! [ -e .config ] ; then
+               make ARCH=arm64 khadas-vim3_defconfig
+       fi
+       make CROSS_COMPILE="$CCACHE $CROSS_COMPILER" $JOBS
+       ./tools/mkimage -A arm64 -T script -C none -n "Tizen KVIM3 u-boot helper" -d ./board/amlogic/w400/tizen-boot-khadas-vim3-64b.scr ./output/vim3/boot.scr.uimg
+
+}
+
+generate_param() {
+       cp `find ./env  -name "built-in.o"` copy_env_common.o
+       ${CROSS_COMPILER}objcopy -O binary --only-section=.rodata.default_environment `find . -name "copy_env_common.o"`
+       tr '\0' '\n' < copy_env_common.o > default_envs.txt
+       ./tools/mkenvimage -s 16384 -o params.bin default_envs.txt
+       rm copy_env_common.o default_envs.txt
+}
+
+build_vim3()
+{
+       if [ -e u-boot.bin ] ; then
+               cp u-boot.bin output/bl33.bin
+       fi
+
+       ./fip/aml_encrypt_g12b --bl3sig --input output/bl33.bin --compress lz4 \
+                                       --output output/bl33.bin.enc \
+                                       --level v3 --type bl33 --compress lz4
+       ./fip/aml_encrypt_g12b --bootmk \
+               --output output/u-boot-kvim3.bin \
+               --bl2 fip/kvim3/bl2.n.bin.sig \
+               --bl30 fip/kvim3/bl30_new.bin.enc \
+               --bl31 fip/kvim3/bl31.img.enc \
+               --bl33 output/bl33.bin.enc \
+               --ddrfw1 fip/kvim3/ddr4_1d.fw \
+               --ddrfw2 fip/kvim3/ddr4_2d.fw \
+               --ddrfw3 fip/kvim3/ddr3_1d.fw \
+               --ddrfw4 fip/kvim3/piei.fw \
+               --ddrfw5 fip/kvim3/lpddr4_1d.fw \
+               --ddrfw6 fip/kvim3/lpddr4_2d.fw \
+               --ddrfw7 fip/kvim3/diag_lpddr4.fw \
+               --ddrfw8 fip/kvim3/aml_ddr.fw \
+               --ddrfw9 fip/kvim3/lpddr3_ld.fw \
+               --level v3
+
+       cp params.bin output/vim3/
+       cp arch/arm/dts/meson-g12b-a311d-khadas-vim3.dtb ./output/
+       cd ./output/
+       tar cvf kvim3_bootloader.tar u-boot-kvim3.bin vim3/boot.scr.uimg vim3/params.bin
+       cd ..
+}
+
+check_ccache
+build_uboot
+generate_param
+
+build_vim3
diff --git a/tizen/build-odroid-c4.sh b/tizen/build-odroid-c4.sh
new file mode 100755 (executable)
index 0000000..ab10bf9
--- /dev/null
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+CROSS_COMPILER=/usr/bin/aarch64-linux-gnu-
+JOBS="-j 5"
+
+# Check this system has ccache
+check_ccache()
+{
+       type ccache
+       if [ "$?" -eq "0" ]; then
+               CCACHE=ccache
+       fi
+}
+
+build_uboot()
+{
+       if [ -d output ]; then
+               rm output/odroid-c4/*
+               rm output/*
+       fi
+
+       [ -d output/odroid-c4 ] || mkdir -p output/odroid-c4
+
+       if ! [ -e .config ] ; then
+               make ARCH=arm64 odroid-c4_defconfig
+       fi
+       make CROSS_COMPILE="$CCACHE $CROSS_COMPILER" $JOBS
+       ./tools/mkimage -A arm64 -T script -C none -n "Tizen ODROID-C4 u-boot helper" -d ./board/amlogic/odroid-n2/tizen-boot-odroid-c4-64b.scr ./output/odroid-c4/boot.scr.uimg
+
+}
+
+generate_param() {
+       cp `find ./env  -name "built-in.o"` copy_env_common.o
+       ${CROSS_COMPILER}objcopy -O binary --only-section=.rodata.default_environment `find . -name "copy_env_common.o"`
+       tr '\0' '\n' < copy_env_common.o > default_envs.txt
+       ./tools/mkenvimage -s 16384 -o params.bin default_envs.txt
+       rm copy_env_common.o default_envs.txt
+}
+
+build_amlogic()
+{
+       if [ -e u-boot.bin ] ; then
+               cp u-boot.bin output/bl33.bin
+       fi
+
+       [ -d output ] || mkdir output
+
+       ./fip/aml_encrypt_g12a --bl3sig --input output/bl33.bin --compress lz4 \
+                                       --output output/bl33.bin.enc \
+                                       --level v3 --type bl33 --compress lz4
+
+       ./fip/aml_encrypt_g12a --bootmk \
+               --output output/u-boot-c4.bin \
+               --bl2 fip/c4/bl2.n.bin.sig \
+               --bl30 fip/c4/bl30_new.bin.enc \
+               --bl31 fip/c4/bl31.img.enc \
+               --bl33 output/bl33.bin.enc \
+               --ddrfw1 fip/c4/ddr4_1d.fw \
+               --ddrfw2 fip/c4/ddr4_2d.fw \
+               --ddrfw3 fip/c4/ddr3_1d.fw \
+               --ddrfw4 fip/c4/piei.fw \
+               --ddrfw5 fip/c4/lpddr4_1d.fw \
+               --ddrfw6 fip/c4/lpddr4_2d.fw \
+               --ddrfw7 fip/c4/diag_lpddr4.fw \
+               --ddrfw8 fip/c4/aml_ddr.fw \
+               --level v3
+
+       cp params.bin output/odroid-c4/
+       cp arch/arm/dts/meson-sm1-odroid-c4.dtb ./output/
+       cd ./output/
+       tar cvf odroidc4_bootloader.tar u-boot-c4.bin odroid-c4/boot.scr.uimg odroid-c4/params.bin
+       cd ..
+}
+
+check_ccache
+build_uboot
+generate_param
+
+build_amlogic
diff --git a/tizen/build-odroid-n2.sh b/tizen/build-odroid-n2.sh
new file mode 100755 (executable)
index 0000000..bf971b6
--- /dev/null
@@ -0,0 +1,78 @@
+#!/bin/bash
+
+CROSS_COMPILER=/usr/bin/aarch64-linux-gnu-
+JOBS="-j 5"
+
+# Check this system has ccache
+check_ccache()
+{
+       type ccache
+       if [ "$?" -eq "0" ]; then
+               CCACHE=ccache
+       fi
+}
+
+build_uboot()
+{
+       if [ -d output ]; then
+               rm output/odroid-n2/*
+               rm output/*
+       fi
+
+       [ -d output/odroid-n2 ] || mkdir -p output/odroid-n2
+
+       if ! [ -e .config ] ; then
+               make ARCH=arm64 odroid-n2_defconfig
+       fi
+       make CROSS_COMPILE="$CCACHE $CROSS_COMPILER" $JOBS
+       ./tools/mkimage -A arm64 -T script -C none -n "Tizen ODROID-N2 u-boot helper" -d ./board/amlogic/w400/tizen-boot-odroid-n2-64b.scr ./output/odroid-n2/boot.scr.uimg
+
+}
+
+generate_param() {
+       cp `find ./env  -name "built-in.o"` copy_env_common.o
+       ${CROSS_COMPILER}objcopy -O binary --only-section=.rodata.default_environment `find . -name "copy_env_common.o"`
+       tr '\0' '\n' < copy_env_common.o > default_envs.txt
+       ./tools/mkenvimage -s 16384 -o params.bin default_envs.txt
+       rm copy_env_common.o default_envs.txt
+}
+
+build_amlogic()
+{
+       if [ -e u-boot.bin ] ; then
+               cp u-boot.bin output/bl33.bin
+       fi
+
+       [ -d output ] || mkdir output
+
+       ./fip/aml_encrypt_g12b --bl3sig --input output/bl33.bin --compress lz4 \
+                                       --output output/bl33.bin.enc \
+                                       --level v3 --type bl33 --compress lz4
+       ./fip/aml_encrypt_g12b --bootmk \
+               --output output/u-boot-n2.bin \
+               --bl2 fip/n2/bl2.n.bin.sig \
+               --bl30 fip/n2/bl30_new.bin.enc \
+               --bl31 fip/n2/bl31.img.enc \
+               --bl33 output/bl33.bin.enc \
+               --ddrfw1 fip/n2/ddr4_1d.fw \
+               --ddrfw2 fip/n2/ddr4_2d.fw \
+               --ddrfw3 fip/n2/ddr3_1d.fw \
+               --ddrfw4 fip/n2/piei.fw \
+               --ddrfw5 fip/n2/lpddr4_1d.fw \
+               --ddrfw6 fip/n2/lpddr4_2d.fw \
+               --ddrfw7 fip/n2/diag_lpddr4.fw \
+               --ddrfw8 fip/n2/aml_ddr.fw \
+               --level v3
+
+       cp params.bin output/odroid-n2/
+       cp arch/arm/dts/meson-g12b-odroid-n2.dtb ./output/
+       cd ./output/
+       tar cvf odroidn2_bootloader.tar u-boot-n2.bin odroid-n2/boot.scr.uimg odroid-n2/params.bin
+       cd ..
+}
+
+check_ccache
+build_uboot
+generate_param
+
+build_amlogic