forked from 8890q/android_kernel_samsung_universal8895
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_kernel.sh
More file actions
executable file
·70 lines (54 loc) · 2.37 KB
/
build_kernel.sh
File metadata and controls
executable file
·70 lines (54 loc) · 2.37 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash
rm -rf builds
rm -rf out
rm -rf images
# export some things
export CCACHE
export CCACHE_MAXSIZE=10G
export ARCH=arm64
export PROJECT_NAME=greatlte
export LINUX_COMPILED_BY=Chanz22
export COMPILE_HOST=Xeon_builder
mkdir out
mkdir images
mkdir builds
IMAGE_NAME=HyundraKernel
current_dir=$(pwd)
# clean source before build
make mrproper && make clean
# toolchain dir
BUILD_CROSS_COMPILE=/home/chanz22/tc/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu-/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu-rk3399-box-7.1/bin/aarch64-linux-gnu-
KERNEL_LLVM_BIN=/home/chanz22/tc/clang-r416183b/bin/clang
CLANG_TRIPLE=/home/chanz22/tc/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu-/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu-rk3399-box-7.1/bin/aarch64-linux-gnu-
KERNEL_MAKE_ENV="DTC_EXT=$(pwd)/tools/dtc CONFIG_BUILD_ARM64_DT_OVERLAY=y"
# compile kernel
make -j12 -C $(pwd) O=$(pwd)/out $KERNEL_MAKE_ENV ARCH=arm64 CROSS_COMPILE=$BUILD_CROSS_COMPILE CC=$KERNEL_LLVM_BIN CLANG_TRIPLE=$CLANG_TRIPLE CONFIG_SECTION_MISMATCH_WARN_ONLY=y exynos8895-greatlte_defconfig
make -j12 -C $(pwd) O=$(pwd)/out $KERNEL_MAKE_ENV ARCH=arm64 CROSS_COMPILE=$BUILD_CROSS_COMPILE CC=$KERNEL_LLVM_BIN CLANG_TRIPLE=$CLANG_TRIPLE CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# clean up previous images
cd "$current_dir"/AIK
./cleanup.sh
./unpackimg.sh --nosudo
# back to main dir
cd "$current_dir"
# move generated files to temporary directory
cp "$current_dir"/out/arch/arm64/boot/dtb.img "$current_dir"/images/
mv "$current_dir"/images/dtb.img "$current_dir"/images/boot.img-dt
cp "$current_dir"/out/arch/arm64/boot/Image "$current_dir"/images/
mv "$current_dir"/images/Image "$current_dir"/images/boot.img-kernel
# cleanup past files and move new ones
rm "$current_dir"/AIK/split_img/boot.img-kernel
rm "$current_dir"/AIK/split_img/boot.img-dt
mv "$current_dir"/images/boot.img-kernel "$current_dir"/AIK/split_img/boot.img-kernel
mv "$current_dir"/images/boot.img-dt "$current_dir"/AIK/split_img/boot.img-dt
# delete images dir
rm -r "$current_dir"/images
# goto AIK dir and repack boot.img as not sudo
cd "$current_dir"/AIK
./repackimg.sh --nosudo
# goto main dir
cd "$current_dir"
# move generated image to builds dir renamed as lito_kernel
mv "$current_dir"/AIK/image-new.img "$current_dir"/builds/"$IMAGE_NAME".img
# clean out dir for new builds
rm -r "$current_dir"/out
echo done! you can find your image at /builds