[Guide]How To Compile Kernel (Especially for Redmi Note 5A)

nayefhaidir

Member
Apr 21, 2018
39
13
0
Bekasi
Hi guys , it is a common fact that kernel runs linux. Without kernel, linux won't be usable. One of linux family is Android. Okay, so after that preamble, i just want to share to you "How To Compile Kernel (Especially for Redmi Note 5A)"

So, Let's start !
Prerequisites :
1. Laptop/PC with Linux installed (i prefer Ubuntu based distro, for other distributions i'll update if i have tested​
2. Already installed needed package (you'll see list below)​
3. Internet connection (Optional if you have prepared all)​

Stages :
1. Install all needed packages by typing this command in terminal (if you encounter any error just delete the package that causes error)
Code:
sudo apt-get install git –core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib adb
2. Get the compiler(gcc) by typing this command in terminal
Code:
git clone <url> gcc
3. Get the kernel source from github or gitlab or whatever the service is by typing this command in terminal
Code:
git clone –b <branch name> https://github.com/xxx/xxx
Compile :
After all required components are ready, now let's start compiling our kernel. Run terminal in your kernel folder and type commands below :
1. First, we have to export(to tell the computer) the path of our compiler(gcc) by typing this command :
Code:
export CROSS_COMPILE=/home/<your host>/<gcc folder>/bin/<toolchain prefix>
Example :
Code:
export CROSS_COMPILE=/home/nayef/gcc/bin/aarch64-linux-android-
2. Second, we have to export(to tell the computer) the architecture for our devices. Fortunately Redmi Note 5A has ARM 64 bit architecture, so it should be "arm64".
Code:
export ARCH=arm64 && export SUBARCH=arm64
3. Third, before compiling, let's configure our devices configuration by using available defconfig, usually our devs name it "ugglite_defconfig", but from official Xiaomi source it is "ugglite_msm8937_defconfig" . There are many sources of Redmi Note 5A Kernel. PM me if you want the list.
Code:
make O=out <defconfig name>
Example:
Code:
make O=out ugglite_defconfig
4. Now, let's compile it by typing this commands below
Code:
make O=out -j4
Reference :
nathanchance thread
Android Google Source
 
Last edited:
  • Like
Reactions: szanalmas

nayefhaidir

Member
Apr 21, 2018
39
13
0
Bekasi