Daha önce bu konuda KernelSU'dan bahsetmiştim, sıra derleme aşamasına geldi.
www.technopat.net
Bağımlılıkları Yükleme
Daha çok Ubuntu kullanılıyor bu işler için fakat aynı paketleri başka dağıtımda kullanabilirsiniz. Ben rehberimi WSL2 Ubuntu'ya göre yapıyorum.
Kernel Kaynağı Edinme
Xiaomi
Samsung
Kernel kaynağınızı edinmeniz ve klasöre ayıklamanız gerekir. Git ile çekmek isterseniz aşağıdakine benzer bir komut kullanabilirsiniz.
Toolchain Edinme
developer.arm.com
Bu siteden "gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz" ve "gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz" dosyalarını indirip
Bu siteden ise clang indirip yine
İşlem sonunda çalışma dizinim bu şekilde görünüyor.
KernelSU Ekleme
Kernel dizinimize girip aşağıda bıraktığım kodu girmeniz KernelSU'yu eklemek için yeterlidir.
Config Ayarı
!Cihazının için olan Config'i
Config dosyamızı açıp bunların olup olmaığını kontrol ediyoruz. Yok ise eklemelisiniz.
Geri kalan işlem derleme sekansıdır.
Kernel Derleme
Öncelikle Arch tanıtmamız gerekiyor. KernelSU ekliyorsanız ARM64 olması gerekir.
Toolchain PATH eklememiz gerekiyor.
!Toolchain dizinine gidip
Derleme işlemini başlatın.
Çalışma dizinini oluşturup kerneli temziliyoruz.
!Cihazınız için olan defconfig dosyasını
!
!
İşleminden sonra derleme başlar ve kernel
Yada linkte verdiğim dosyanın içini açıp kendi
Sabahtan beri LinageOS kernelini derlediğim için fotoğraf paylaşamıyorum. Pixel Experiance kernelini tekrar derleyince fotoğraflarını ekleyeceğim.
Rehber: KSU (KernelSU) nedir?
KernelSU nedir ve ne işe yarar? Kernelsu bir çeşit root olur. Magisk gibidir fakat farkı KernelSU'nun kernel tabanlı çalışmasıdır. KernelSU özellikleri nedir? Çekirdek tabanlı olmasının artı ve eksi yönleri vardır. Artı yönlerini sayacak olursak root gizleme olayı çok basit ve verimli olur...
Bağımlılıkları Yükleme
Bash:
sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop git curl u-boot-tools mtd-utils android-sdk-libsparse-utils device-tree-compiler gdisk m4 bison flex make libssl-dev gcc-multilib libgnutls28-dev swig liblz4-tool libdw-dev dwarves bc cpio tar lz4 rsync ninja-build clang libelf-dev build-essential libncurses5
Daha çok Ubuntu kullanılıyor bu işler için fakat aynı paketleri başka dağıtımda kullanabilirsiniz. Ben rehberimi WSL2 Ubuntu'ya göre yapıyorum.
Kernel Kaynağı Edinme
Xiaomi
Samsung
Kernel kaynağınızı edinmeniz ve klasöre ayıklamanız gerekir. Git ile çekmek isterseniz aşağıdakine benzer bir komut kullanabilirsiniz.
Bash:
git clone https://github.com/LineageOS/android_kernel_xiaomi_sdm660.git kernel
Toolchain Edinme
Downloads | GNU-A Downloads – Arm Developer
Download the The GNU Toolchain for the Cortex-A Family are integrated and validated packages featuring the GCC compiler, libraries and other GNU tools necessary for software development on devices based on the Arm Cortex-A processors or the Arm A-profile architecture.
Bu siteden "gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz" ve "gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz" dosyalarını indirip
tar -xf
komutu ile klasöre ayıklayabilirsiniz.Bu siteden ise clang indirip yine
tar -xf
komutu ile klasöre ayıklıyoruz.İşlem sonunda çalışma dizinim bu şekilde görünüyor.
KernelSU Ekleme
Kernel dizinimize girip aşağıda bıraktığım kodu girmeniz KernelSU'yu eklemek için yeterlidir.
Bash:
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -
Config Ayarı
!Cihazının için olan Config'i
arch/arm64/config
dizininde bulabilirsiniz.Config dosyamızı açıp bunların olup olmaığını kontrol ediyoruz. Yok ise eklemelisiniz.
Kod:
CONFIG_KPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_KPROBE_EVENTS=y
CONFIG_MODULES=y
Geri kalan işlem derleme sekansıdır.
Kernel Derleme
Öncelikle Arch tanıtmamız gerekiyor. KernelSU ekliyorsanız ARM64 olması gerekir.
Bash:
export ARCH=ARM64
export SUBARCH=ARM64
export HEADER_ARCH=ARM64
export DTC_EXT=dtc
Toolchain PATH eklememiz gerekiyor.
PATH="CLANG:GCCA64:GCCA32:${PATH}"
Bash:
PATH="/home/smt/clang/bin:/home/smt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:/home/smt/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin:${PATH}"
!Toolchain dizinine gidip
pwd
komutunu kullanarak yukarıda verdiğim komutları düzenleyin ve toolchain tanıtma işlemini yapın.Derleme işlemini başlatın.
Bash:
make O=out clean && make mrprober
Bash:
make O=out ARCH=arm64 lavender_defconfig
!Cihazınız için olan defconfig dosyasını
arch/arm64/config
dizininde bulabilirsiniz.
Bash:
make -j4 O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-none-linux-gnu- CROSS_COMPILE_ARM32=arm-none-linux-gnueabihf-
!
-j4
komutunda "x" değişkeni sizin işleme kaç çekirdek verdiğinizi belirtir. Örneğin 16 çekirdek bir işlemciniz var ise -j8
yapabilirsiniz.!
/usr/bin/env: python: No such file or directory
hatası alırsanız bu hatayı sudo ln -s /usr/bin/python3 /usr/bin/python
komutu ile çözebilirsiniz.İşleminden sonra derleme başlar ve kernel
out/arch/arm64/boot/
yolunda olur. Bu Image.gz dosyasını boot.img içersine yerleştirerek kullanabilirsiniz.Yada linkte verdiğim dosyanın içini açıp kendi
Image.gz-dtb
dosyanızı koyarak flash işlemi yapabilirsiniz.Sabahtan beri LinageOS kernelini derlediğim için fotoğraf paylaşamıyorum. Pixel Experiance kernelini tekrar derleyince fotoğraflarını ekleyeceğim.
Son düzenleme: