Daha önceki
yazımızda kaynak kodlarından custom rom derlemeyi anlatmıştık. Bu sefer de
sizlere kaynak kodlarından kernel derleme rehberi paylaşalım istedik. Kernel
derlemeye merakınız varsa bu yazı tam size göre.
Bu kendi
Android kernelinizi derleyebileceğiniz en kolay yöntemdir. Başlamadan önce
kaynak kodlarından rom derleme konumuzu incelemek isterseniz buradan ilgili konuya
ulaşabilirsiniz.
Adım 1: Gerekli Dosyaların Yüklenmesi
Ctrl+Alt+T tuşları ile bir Uçbirim açtıktan sonra aşağıdaki
kodları girin.
mkdir
android
cd
android
mkdir
kernel
cd
kernel
sudo apt-get install -y build-essential kernel-package
libncurses5-dev bzip2
Bu kod gerekli olan paketleri indirecektir
Bu kod gerekli olan paketleri indirecektir
Kernel Kaynak Kodunuzu Cihazınızın üreticisine göre aşağıdaki
listeden seçerek cihaz modelinize uygun kaynak kodunu indirin (github üzerinde
bulunan kaynak kodlarını da kullanabilirsiniz.)
HTC - HTC Kernel
Source Code and Binaries
Samsung - Samsung Opensource Release Center
Google - Binaries for Nexus Devices - Android — Google Developers
LG - OpenSource Code Distribution
Sony - Xperia™ open source archives - Developer World
Motorola - Motorola Home - Motorola USA
Lenovo - Lenovo Support (TR)
ZTE - Tomorrow Never Waits
Samsung - Samsung Opensource Release Center
Google - Binaries for Nexus Devices - Android — Google Developers
LG - OpenSource Code Distribution
Sony - Xperia™ open source archives - Developer World
Motorola - Motorola Home - Motorola USA
Lenovo - Lenovo Support (TR)
ZTE - Tomorrow Never Waits
İndirdiğiniz Kaynak Kodu dosyasını sıkıştırılmış halinden
çıkartın ve android/kernel dizininde yeni oluşturacağınız klasöre atın.
Geliştiriciler genellikle android/kernel/üretici_adı/cihaz_kod_adı şeklinde
kullanırlar yani örnek olarak :
android/kernel/samsung/msm8930-common şeklinde
kullanabilirsiniz
(Bu örnek Samsung Galaxy S4 Mini İçin Github Üzerinde kullanılan kaynak kodlarına göredir.)
(Bu örnek Samsung Galaxy S4 Mini İçin Github Üzerinde kullanılan kaynak kodlarına göredir.)
Derleme Araçlarını indirelim:
Uçbirim Üzerinden;
git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains
git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains
Adım 2: Düzenlemeler
(Bu Adım İsteğe Bağlıdır)
Overclock/Underclock
Bu işlemler İşlemci hızını arttırma/azaltma ile ilgilidir fakat
her cihazın farklı çipseti olduğundan bu anlatımlarda değişecektir bu yüzden bu
işlemi kendi cihazınızın çipsetine göre internetten bakmanız daha sağlıklı
olur.
Governor Ekleme
Burada Size SmartAss Governorunun yüklenişini anlatacağız
“drivers/cpufreq/Kconfig” yolundaki dosyayı açın
Alttaki satırları diğer governorların arasına ekleyin
config
CPU_FREQ_DEFAULT_GOV_SMARTASS
bool "smartass"
select CPU_FREQ_GOV_SMARTASS
select CPU_FREQ_GOV_PERFORMANCE
help
Use the CPUFreq governor
'smartass' as default.
config
CPU_FREQ_GOV_SMARTASS
tristate "'smartass' cpufreq
governor"
depends on CPU_FREQ
help
smartass' - a "smart"
optimized governor!
If in doubt, say N.
“drivers/cpufreq/Makefile” yolundaki dosyayı açın
Alttaki satırı uygun gördüğünüz yere ekleyin
obj-$(CONFIG_CPU_FREQ_GOV_SMARTASS) += cpufreq_smartass.o
“drivers/cpufreq” yolunda “cpufreq_smartass.c” adında bir dosya
oluşturun
Bu Kodu dosyanın içine ekleyin (Kodu
görüntüleyebilmeniz için bir vpn gerekebilir.)
“include/linux/cpufreq.h” yolundaki dosyayı açın
“Cpufreq Default” başlığının altına aşağıdaki kodları ekleyin
#elif
defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SMARTASS)
extern
struct cpufreq_governor cpufreq_gov_smartass;
#define
CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_smartass)
Governor ekleme işlemi bu kadar daha sonraki ekleyeceğiniz
governorlarda aynı işlemleri yapabilirsiniz.
Yapılandırma Dosyası Ekleme
1.Yol : Başka Bir Kernelden Yapılandırma Dosyası Alma
Bu yöntem çalışan bir cihazdan çalıştığını bildiğiniz bir
kernele ait olan config(yaplındırma) dosyasını almanızı sağlar bu yöntemi
kullanarak işlemleri çok kolay bir hale getirebilirsiniz fakat bütün kerneller
bu yolu desteklememekte
Bir Uçbirim Açın ve aşağıdaki kodları girin
cd
android/kernel/samsung/msm8930-common
adb
pull /proc/config.gz
gunzip
config.gz
mv
config arch/arm/configs/msm8930_serrano_defconfig
Yukarıda dediğimiz gibi bu yöntemi her kernel
desteklememektedir ve bu kodlar yine Samsung Galaxy S4 Mini (GT-I9190) için
geçerlidir kendi cihazınız için Kırmızı ve Yeşilyerleri
değiştirmeniz gerekmektedir.
2.Yol: Cihaz Üreticinizin Yapılandırma Dosyasını Kullanma
Bu yöntemle isterseniz kernelin içinde bulunan defconfig
dosyasını kullanabilir ve ya internetten cihazınız için bulduğunuz defconfig
dosyasını kullanabilirsiniz.
Adım 3: Derleme
Hazırlık
Bir Uçbirim açın ve kernel dosyalarınızın ana dizinine gidin
cd android/kernel/samsung/msm8930-common
export ARCH=arm
export CROSS_COMPILE=~/android/kernel/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-
Hazırlık aşamasını her derlemeden önce yapmanız gerekmektedir.
cd android/kernel/samsung/msm8930-common
export ARCH=arm
export CROSS_COMPILE=~/android/kernel/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-
Hazırlık aşamasını her derlemeden önce yapmanız gerekmektedir.
make
make msm8930_serrano_defconfig
make
menuconfig
make
-j#
Yine söylediğimiz gibi bu kodlar Samsung Galaxy S4 Mini
(GT-I9190) için geçerlidir kendi cihazınız için değişiklikler yapmanız
gerekmektedir.
# sayısını işlemcinizdeki çekirdek sayısına göre
değiştirmeniz gerekmektedir, # sayısı bir saniyede yapılacak işlemleri
göstermektedir yani ne kadar çok çekirdek o kadar çok iş demektir.
Tekrar Derleme İçin:
make
clean
make
oldconfig
make
-j#
Sonuç
Derlemenin bitmesini bekleyin
Derleme Başarılı Değilse:
Hataları Google Üzerinden Arayabilirsiniz
Derleme Başarılıysa:
Bravo, ilk kernelinizi derlediniz demektir. Bu kerneli
cihazınızda kullanabilmek için cihazınıza uygun recovery üzerinden yüklenebilir
bir .zip dosyası bulmanız gerekmektedir.
Yorumlar
Yorum Gönder