summaryrefslogtreecommitdiff
path: root/build-kernel-exynos5433.sh
blob: 686874d3a6f4f34a8a20626d668b2af08b3effb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash

# Check this system has ccache
check_ccache()
{
	type ccache
	if [ "$?" -eq "0" ]; then
		CCACHE=ccache
	fi
}

check_ccache

rm -f output/linux-*-exynos5433-arm64*.tar
rm -f arch/arm64/boot/Image
rm -f arch/arm64/boot/dts/exynos/*.dtb
if ! [ -d output ] ; then
	mkdir output
fi

if ! [ -e .config ] ; then
	make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- tizen_tm2_defconfig
fi

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs
if [ ! -f "./arch/arm64/boot/Image" ]; then
	echo "Build fail"
	exit 1
fi

HOST_ARCH=`uname -m`
if [ "$HOST_ARCH" == "x86_64" ]; then
	cp tools/mkimage.x86_64 tools/mkimage
elif [ "$HOST_ARCH" == "i586" ] || [ "$HOST_ARCH" == "i686" ]; then
	cp tools/mkimage.i686 tools/mkimage
else
	echo "Unknow HOST architecture, u-boot-tools, mkimage is required!"
fi

# create fit style image from its
PATH=scripts/dtc:$PATH tools/mkimage -f arch/arm64/boot/tizen-tm2.its output/kernel.img

# Check kernel version from Makefile
_major_version=`cat Makefile | grep "^VERSION = " | awk '{print $3}'`
_minor_version=`cat Makefile | grep "^PATCHLEVEL = " | awk '{print $3}'`
_extra_version=`cat Makefile | grep "^EXTRAVERSION = " | awk '{print $3}'`
_version=${_major_version}.${_minor_version}${_extra_version}

cd output
tar cf linux-${_version}-exynos5433-arm64-fit.tar kernel.img