2 minute read

Sebagai Android enthusiast, kurang pas rasanya jika memiliki ponsel Android tanpa akses root (root access). Dengan segala keterbatasan yang diterapkan oleh vendor, akses root menjadi salah satu jalan utama untuk memodifikasi ponsel dan membuka keterbatasan tersebut.

Nostalgia Dulu…

Terdapat beberapa metode root yang dulu pernah saya coba.

Mulai dari SuperSU yang menyediakan akses root melalui binary pada file sistem. Namun karena memodifikasi file sistem secara langsung, SuperSU saat ini tergolong usang dan tidak aman.

Kemudian ada Magisk yang menerapkan konsep systemless. Perubahan file sistem dilakukan secara transparan dan tidak menimpa file asli dari sistem.

Kini, muncul satu lagi metode untuk mendapatkan akses root di perangkat Android. Metode yang mengandalkan komponen driver pada kernel Linux, yaitu KernelSU.

Apa Itu KernelSU?

KernelSU merupakan sebuah solusi mendapatkan akses root berbasis kernel. Ini artinya akses root yang didapatkan akan berasal dari kernel.

Apa kelebihannya? Banyak. Yang paling utama adalah akses root tidak bergantung pada ROM yang digunakan. Dengan cara ini, pengguna bebas gonta-ganti ROM dan akan tetap mendapatkan akses root.

Namun, semua yang memiliki kelebihan pasti mempunyai kekurangan. KernelSU ini bukanlah sebuah pengecualian. Akses root berbasis kernel dapat dikatakan cukup berbahaya, karena Kernel merupakan inti dari sebuah sistem operasi, dan dengan mengizinkan berbagai program untuk berjalan dengan hak akses root (superuser)… ya begitu deh.

Tapi tenang saja, KernelSU memiliki beberapa lapis perlindungan yang tertanam di kode sumbernya, dan seluruh akses root dapat diatur melalui manager nya.

GKI Berperan Penting

Perkembangan sistem operasi Android yang begitu cepatnya membawa sebuah konsep baru dalam proses pengembangannya. Salah satunya adalah Generic Kernel Image, biasa disingkat dengan GKI.

Mengenal GKI

Konsep GKI mengizinkan berbagai perangkat Android menggunakan satu basis kernel yang dikelola pengembangannya oleh Google. DIkarenakan mayoritas perangkat membutuhkan berbagai penyesuaian (patches) agar dapat berjalan secara normal, vendor mengintegrasikan penyesuaian tersebut melalui loadable kernel modules (LKM).

Perangkat yang menggunakan GKI memiliki partisi tambahan yaitu vendor_boot dan vendor_dlkm (berada di partisi super). Kedua partisi ini berisi LKM yang dibutuhkan oleh kernel untuk mengaplikasikan penyesuaian oleh vendor.

GKI & KernelSU

GKI berperan penting dalam proses instalasi KernelSU. Agar lebih mudah, KernelSU menyediakan berbagai image kernel siap pakai yang dapat menggantikan image bawaan. Dikarenakan konsep GKI mengizinkan penggunaan basis kernel yang sama, maka pengguna cukup mengganti image kernel yang digunakan dengan image yang telah ditambahkan KernelSU.

Atau, jika tidak ingin mengganti image kernel yang digunakan (mungkin karena masih memiliki perubahan dari vendor), KernelSU dapat dimuat melalui LKM, mirip seperti module lain yang berfungsi sebagai penyesuaian tambahan sebelumnya.

Tapi… Kok Nggak Bisa?

Beberapa waktu sebelumnya saya coba untuk melakukan patching file boot.img milik ponsel saya, Samsung Galaxy A33 5G, seperti yang dituliskan di dokumentasi. Tujuannya untuk menambahkan KernelSU melalui metode LKM.

Namun ketika saya flash, ponsel tidak dapat booting dengan error DTB check fail.

Compile Kernel dengan KernelSU

Mau tidak mau, saya harus meng-compile kernel saya sendiri untuk menambahkan KernelSU ke dalamnya. Compile berjalan cukup lancar, walaupun ada beberapa error, tapi itu wajar.

Hasilnya? Ta-daa! Kernel dengan KernelSU!