-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscript.sh
More file actions
executable file
·105 lines (90 loc) · 4.92 KB
/
script.sh
File metadata and controls
executable file
·105 lines (90 loc) · 4.92 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/bash
#set -e
DATE_POSTFIX=$(date +"%Y%m%d")
## Copy this script inside the kernel directory
KERNEL_DIR=$PWD
KERNEL_TOOLCHAIN=$PWD/../../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
CLANG_TOOLCHAIN=$PWD/../../prebuilts-master/clang/host/linux-x86/clang-6607189/bin/clang-11
KERNEL_DEFCONFIG=sanders_defconfig
DTBTOOL=$KERNEL_DIR/Dtbtool/
JOBS=4
ZIP_DIR=$KERNEL_DIR/zip/
KERNEL=Mayhem-KERNEL
TYPE=HMP
RELEASE=Parallax-plus-1.3
FINAL_KERNEL_ZIP=$KERNEL-$TYPE-$RELEASE-$DATE_POSTFIX.zip
# Speed up build process
MAKE="./makeparallel"
BUILD_START=$(date +"%s")
blue='\033[0;34m'
cyan='\033[0;36m'
#red
R='\033[05;31m'
#purple
P='\e[0;35m'
yellow='\033[0;33m'
red='\033[0;31m'
nocol='\033[0m'
echo -e "$P // Setting up Toolchain //"
export CROSS_COMPILE=$KERNEL_TOOLCHAIN
export ARCH=arm64
export SUBARCH=arm64
echo -e "$R // Cleaning up //"
make clean && make mrproper && rm -rf out/
echo -e "$cyan // defconfig is set to $KERNEL_DEFCONFIG //"
echo -e "$blue***********************************************"
echo -e "$R BUILDING Mayhem-KERNEL "
echo -e "***********************************************$nocol"
echo -e "$blue***********************************************"
echo -e "$R ++++++||parallax plus||++++++ "
echo -e "***********************************************$nocol"
make $KERNEL_DEFCONFIG O=out
make -j$JOBS CC=$CLANG_TOOLCHAIN CLANG_TRIPLE=aarch64-linux-gnu- O=out
echo -e "$blue***********************************************"
echo -e "$R Generating DT image "
echo -e "***********************************************$nocol"
$DTBTOOL/dtbToolMayhem -o $KERNEL_DIR/out/arch/arm64/boot/dt -s 2048 -p $KERNEL_DIR/out/scripts/dtc/ $KERNEL_DIR/out/arch/arm64/boot/dts/qcom/
echo -e "$R // Verify Image.gz & dtb //"
ls $KERNEL_DIR/out/arch/arm64/boot/Image.gz
ls $KERNEL_DIR/out/arch/arm64/boot/dt
echo -e "$R // Verifying zip Directory //"
ls $ZIP_DIR
echo "// Removing leftovers //"
rm -rf $ZIP_DIR/dt
rm -rf $ZIP_DIR/Image.gz
rm -rf $ZIP_DIR/$FINAL_KERNEL_ZIP
echo "**** Copying Image.gz ****"
cp $KERNEL_DIR/out/arch/arm64/boot/Image.gz $ZIP_DIR/
echo "**** Copying dtb ****"
cp $KERNEL_DIR/out/arch/arm64/boot/dt $ZIP_DIR/
echo "**** Copying modules ****"
mkdir -p $ZIP_DIR/modules/vendor/lib/modules
[ -e "$KERNEL_DIR/out/drivers/char/rdbg.ko" ] && cp $KERNEL_DIR/out/drivers/char/rdbg.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/media/usb/gspca/gspca_main.ko" ] && cp $KERNEL_DIR/out/drivers/media/usb/gspca/gspca_main.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/misc/moto-dtv-fc8300/isdbt.ko" ] && cp $KERNEL_DIR/out/drivers/misc/moto-dtv-fc8300/isdbt.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/spi/spidev.ko" ] && cp $KERNEL_DIR/out/drivers/spi/spidev.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/video/backlight/backlight.ko" ] && cp $KERNEL_DIR/out/drivers/video/backlight/backlight.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/crypto/ansi_cprng.ko" ] && cp $KERNEL_DIR/out/crypto/ansi_cprng.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/video/backlight/generic_bl.ko" ] && cp $KERNEL_DIR/out/drivers/video/backlight/generic_bl.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/video/backlight/lcd.ko" ] && cp $KERNEL_DIR/out/drivers/video/backlight/lcd.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/net/bridge/br_netfilter.ko" ] && cp $KERNEL_DIR/out/net/bridge/br_netfilter.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/mmc/card/mmc_test.ko" ] && cp $KERNEL_DIR/out/drivers/mmc/card/mmc_test.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/input/evbug.ko" ] && cp $KERNEL_DIR/out/drivers/input/evbug.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
[ -e "$KERNEL_DIR/out/drivers/usb/gadget/udc/dummy_hcd.ko" ] && cp $KERNEL_DIR/out/drivers/usb/gadget/udc/dummy_hcd.ko $ZIP_DIR/modules/vendor/lib/modules || echo "module not found..."
echo "**** Time to zip up! ****"
cd $ZIP_DIR/
zip -r9 $FINAL_KERNEL_ZIP * -x README $FINAL_KERNEL_ZIP
cp $ZIP_DIR/$FINAL_KERNEL_ZIP $KERNEL_DIR/../../$FINAL_KERNEL_ZIP
echo -e "$yellow // Build Successfull //"
cd $KERNEL_DIR
rm -rf out/arch/arm64/boot/dt
rm -rf $ZIP_DIR/$FINAL_KERNEL_ZIP
rm -rf $ZIP_DIR/Image.gz
rm -rf $ZIP_DIR/dt
rm -rf $ZIP_DIR/modules/vendor/lib/modules/*.ko
rm -rf $KERNEL_DIR/out/
rm -rf $ZIP_DIR/modules/vendor
BUILD_END=$(date +"%s")
DIFF=$(($BUILD_END - $BUILD_START))
echo -e "$yellow Build completed in $(($DIFF / 60)) minute(s) and $(($DIFF % 60)) seconds.$nocol"
ls $KERNEL_DIR/../../$FINAL_KERNEL_ZIP