3 CROSS_COMPILE=${CROSS_COMPILE:-aarch64-linux-gnu-}
5 NCPUS=`cat /proc/cpuinfo | grep processor | wc -l`
8 # Check this system has ccache
12 if [ "$?" -eq "0" ]; then
19 if [ -d output ]; then
31 DTB1=meson64_odroidc4.dtb
32 DTB2=meson64_odroidn2_drm.dtb
47 # set EXTRAVERSION for each board
48 sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -TIZEN-amlogic-${OUT_DIR}/" Makefile
54 sed -i "s/^EXTRAVERSION.*/EXTRAVERSION =/" Makefile
59 rm -f arch/arm64/boot/Image*
61 [ -d output/${OUT_DIR} ] || mkdir -p output/${OUT_DIR}
63 if ! [ -e .config ]; then
64 make tizen_${CONFIG}_defconfig
66 make -j $NCPUS Image.gz dtbs
67 if [ ! -f "./arch/arm64/boot/Image.gz" ]; then
73 cp arch/arm64/boot/dts/amlogic/${DTB1} ./output/
74 cp arch/arm64/boot/dts/amlogic/${DTB2} ./output/
75 cp arch/arm64/boot/Image.gz ./output/${OUT_DIR}/
80 [ -e /usr/bin/make_ext4fs ] && USE_MAKE_EXT4FS=1
81 if [ "$USE_MAKE_EXT4FS" != "1" ]; then
82 # get sudo permission for mount
83 sudo echo "dummy" > /dev/null
91 [ -d ${MOD_DIR} ] || mkdir ${MOD_DIR}
93 make -j $NCPUS modules
94 make modules_install INSTALL_MOD_PATH=${MOD_DIR} INSTALL_MOD_STRIP=1
100 MOD_IMG="usr/modules.img"
103 if [ "$USE_MAKE_EXT4FS" == "1" ]; then
104 /usr/bin/make_ext4fs -b 4096 -L modules -l ${MOD_SIZE}M $MOD_IMG ${MOD_DIR}/lib/modules/
106 dd if=/dev/zero of=${MOD_IMG} bs=1M count=${MOD_SIZE}
107 mkfs.ext4 -F -b 4096 -L modules ${MOD_IMG}
109 [ -d ${MOD_DIR}/mnt ] || mkdir ${MOD_DIR}/mnt
111 sudo mount -o loop ${MOD_IMG} ${MOD_DIR}/mnt
112 sudo cp -rf ${MOD_DIR}/lib/modules/* ${MOD_DIR}/mnt
113 sudo -n chown root:root ${MOD_DIR}/mnt -R
115 sudo umount ${MOD_DIR}/mnt
117 cp usr/modules.img ./output
125 # Create boot tarball for the lthor flashing
127 BOOT_TARBALL=tizen-local-${DATE}-boot-arm64-${BOARDS}.tar.gz
130 OUTPUT_FILES=`find * -type f`
132 tar czf output/${BOOT_TARBALL} -C output ${OUTPUT_FILES}
133 if [ "$?" != "0" ]; then
134 echo "Failed to create boot tarball"
138 echo "Crated output/${BOOT_TARBALL}"
147 # in kernel tree, c4 and n2 are built as a result
148 # and vim3 and vim3l are built as a result.
153 echo "linux kernel building script for tizen amlogic boards"
154 echo "usage: $0 target"
155 echo "where target is one of: c4 n2 vim3 vim3l all"
164 export ARCH=${ARM_ARCH}
165 export CROSS_COMPILE="$CCACHE $CROSS_COMPILE"
167 if [ "$1" = "all" ]; then
168 echo "It will remove local .config to build entire boards"
170 if [ -e .config ]; then
171 CHECK_ODROID=`grep CONFIG_ARCH_MESON64_ODROID_COMMON=y .config`
172 if [ "$BOARDS" = "c4" ] || [ "$BOARDS" = "n2" ]; then
173 if [ "z${CHECK_ODROID}" = "z" ]; then
174 echo "There is local .config, but it is differen from ${BOARD}."
175 echo "Please try after removing .config."
179 if [ "z${CHECK_ODROID}" != "z" ]; then
180 echo "There is local .config, but it is differen from ${BOARD}."
181 echo "Please try after removing .config."
185 echo "There is local .config and build with the file."
191 if [ "$1" = "all" ]; then
202 if [ "$1" = "all" ]; then