Cara Mengcompile Kernel Xiaomi MI9 Cepheus

Saya akan membahas bagaimana caranya mengkompilasi kernel android khususnya untuk device Xiaomi MI9 dengan mudah.

Hola, artikel kali ini saya akan membahas bagaimana caranya mengkompilasi kernel android khususnya untuk device Xiaomi MI9 dengan mudah.

Sebelum mulai, ada beberapa persyaratan yang harus disiapkan yaitu.

1.) Mendownload Pustaka Yang Dibutuhkan

Pastikan OS yang kamu gunakan adalah Linux entah itu Ubuntu atau Debian dan kamu copy kode dibawah dan paste ke terminal Linux kamu.
sudo apt install git ccache automake flex lzop bison
gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386
g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev
libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush
schedtool dpkg-dev liblz4-tool make optipng maven libssl-dev
pwgen libswitch-perl policycoreutils minicom libxml-sax-base-perl
libxml-simple-perl bc libc6-dev-i386 lib32ncurses5-dev
x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev xsltproc unzip
Setelah semuanya selesai kamu bisa lanjut ke langkah berikutnya.

2.) Mendownload Source Code Kernel 

Kamu bisa mendapatkan source kernel ini di Xiaomi yang ada di github namun sebelum mengkompilasi nya kamu di haruskan untuk memodifikasi source code tersebut. Karena source code yang diberikan Xiaomi ini tidak lengkap yang dimana akan menimbulkan banyak error saat di kompilasi. 

Maka dari itu cara terbaik dan menghemat waktu adalah, kamu bisa menggunakan source code kernel saya yang ada di gitlab dengan clone seperti ini. 
git clone https://gitlab.com/xiorawa/CANBERRY7.0.git

Jika sudah di clone, sampai disini kamu belum bisa mengkompilasi nya. Kamu harus menyiapkan toolchain terlebih dahulu supaya kernel bisa dikompilasi.

3.) Mendownload Dan Menyiapkan Toolchain

Untuk Xiaomi MI9 kamu memerlukan Snapdragon LLVM Compiler. Cara mendapatkannya kamu bisa registrasi di website Qualcomm setelah registrasi berhasil kamu harus menunggu sampai akun di setujui.

Namun, untuk source kernel ini akan ditemukan banyak error jika dikompilasi dengan Snapdragon LLVM dari Qualcomm. Sebagai alternatifnya kamu bisa menggunakan toolchain yang ada di gitlab saya.

Isi dari toolchain tersebut meliputi dari
  • Clang-11
  • aarch64-linux-android
  • aarch64-linux-elf
  • arm32-gcc
  • proton-clang
Catatan, taruh toolchain ini di home dan jangan taruh di dalam folder manapun. Sekarang jika toolchain tadi sudah kamu clone mari ke tahap selanjutnya yaitu.

4.) Mencari DTC

Untuk mendapatkan DTC kamu bisa mencarinya di google source, namun karena DTC ini banyak versinya jadi untuk menghemat waktu kamu bisa ambil versi yang saya berikan File DTC.

Setelah berhasil didownload kamu harus mengkompilasi nya terlebih dahulu, oh iya sebelum kompilasi DTC kamu harus menginstal GCC versi 9. Karena jika versi GCC diatas versi 9 maka akan muncul error dan kompilasi gagal.

Namun jika kamu sudah menginstal GCC versi 9 kamu hanya perlu ketik diterminal "make dtc" jika ada error tidak ditemukan file dtc-parser.h caranya mudah. Kamu hanya perlu me rename file dtc-parser.tab.h menjadi dtc-parser.h lalu ketik diterminal "make clean" dan ulangi dengan "make dtc".

Setelah proses kompilasi berhasil, kamu akan menemukan file dtc dan pindahkan file dtc ini kedalam toolchain dan buat folder seperti ini struktur nya "toolchain/dtc/dtc-1.4.4/prebuilt/dtc".

Setelah semuanya sudah siap barulah ke tahap akhir yaitu.

5.) Mengkompilasi Kernel & Jadikan Flashable Zip

Sebelum mengkompilasi kernel jika kamu ingin sedikit memodifikasi misalnya merubah nama kernel. Kamu cukup mengedit file cepheus.sh yang ada didalam folder CANBERRY7.0 dan cari BASE_AK_VER="CANBERRY" kamu bisa menggantinya dengan nama bebas sesuai dengan keinginan kamu. 

Setelah selesai memodifikasi kamu bisa langsung kompilasi kernel dengan ketik diterminal sh cepheus.sh atau ./cepheus.sh tunggu sampai prosesnya selesai. Seberapa cepatnya proses selesai, ini tergantung dari resource PC atau Laptop yang kamu gunakan jadi bersabarlah.

Jika proses kompilasi berhasil kamu akan mendapatkan file Image.gz-dtb yang ada di dalam folder CANBERRY7.0/out-cepheus/arch/arm64/boot. 

Untuk menjadikannya file Zip yang bisa di flash kamu bisa menggunakan AnyKernel yang ada di projek github. Atau kamu juga bisa menggunakan file Zip dari kernel lain. Caranya, kamu ekstrak file Zip milik kernel lain kemudian kamu hapus file Image.gz-dtb dan kamu gantikan dengan file Image.gz-dtb milik kamu. 

Setelah selesai, kamu bisa kompres kembali dan file siap digunakan.

Oke,, mungkin sampai sini dulu dan jika kamu ada yang kurang paham kamu bisa tanyakan lewat email yang ada di contact atau di kolom komentar Thankyou and SAYONARA........
Hola I'm Runa Ixora I work in a bank in Indonesia. I'm an easy person to get along with anyone, so don't hesitate to make friends or ask questions.