-
Notifications
You must be signed in to change notification settings - Fork 2
/
build_s2_kernel.sh
executable file
·47 lines (37 loc) · 1.47 KB
/
build_s2_kernel.sh
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
#!/bin/sh
export KERNELDIR=`readlink -f .`
export INITRAMFS_SOURCE=`readlink -f $KERNELDIR/../initramfs-i9100-jb-dual-boot-b2g`
export PARENT_DIR=`readlink -f ..`
export USE_SEC_FIPS_MODE=true
export CROSS_COMPILE=/home/jgomez/b2g/build/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-
if [ "${1}" != "" ];then
export KERNELDIR=`readlink -f ${1}`
fi
INITRAMFS_TMP="/tmp/initramfs-source"
if [ ! -f $KERNELDIR/.config ];
then
make cyanogenmod_i9100_defconfig
fi
. $KERNELDIR/.config
export ARCH=arm
cd $KERNELDIR/
CROSS_COMPILE=$CROSS_COMPILE nice -n 10 make -j4 || exit 1
#remove previous initramfs files
rm -rf $INITRAMFS_TMP
rm -rf $INITRAMFS_TMP.cpio
#copy initramfs files to tmp directory
cp -ax $INITRAMFS_SOURCE $INITRAMFS_TMP
#clear git repositories in initramfs
find $INITRAMFS_TMP -name ".git*" -exec rm -rf {} \;
#remove empty directory placeholders
find $INITRAMFS_TMP -name EMPTY_DIRECTORY -exec rm -rf {} \;
rm -rf $INITRAMFS_TMP/tmp/*
rm -rf $INITRAMFS_TMP/READNE.md
#copy modules into initramfs
mkdir -p $INITRAMFS/lib/modules
find -name '*.ko' -exec cp -av {} $INITRAMFS_TMP/lib/modules/ \;
chmod 644 $INITRAMFS_TMP/lib/modules/*
$CROSS_COMPILE'strip' --strip-unneeded $INITRAMFS_TMP/lib/modules/*
CROSS_COMPILE=$CROSS_COMPILE nice -n 10 make -j3 zImage CONFIG_INITRAMFS_SOURCE="$INITRAMFS_TMP" || exit 1
#cp $KERNELDIR/arch/arm/boot/zImage zImage
$KERNELDIR/mkshbootimg.py $KERNELDIR/zImage $KERNELDIR/arch/arm/boot/zImage $KERNELDIR/payload.tar $KERNELDIR/recovery.tar.xz