Kaynak Kodlarından Rom Derleme Rehberi

0
750

İnternette bir sürü custom rom bulunmakta, peki ben  nasıl Rom derlerim diye merak ediyorsanız bu yazı tam size göre

Gerekenler:

1.Bu rehber Ubuntu 12+ için hazırlanmıştır fakat Linux Mint 17.3 üzerinde çalışmaktadır

2.Rom derleyeceğiniz cihaz için device, vendor ve kernel repolarını bulmanız gerekiyor. Bu dosyalar cihazınız için farklı forumlarda mevcut olabilir ayrıca cihazınızın kod adını not alın örnek olarak Samsung Galaxy S4 Mini = serrano3gxx gibi.

Bölüm 1- Rom İçin Yapıları Oluşturma

Java Jdk ve Jre’nin indirilmesi:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install default-jdk

sudo apt-get install default-jre

Gerekli Paketlerin İndirilmesi:

sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386

Adb Ve Fastboot’un İndirilmesi:

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt-get update

sudo apt-get install android-tools-adb android-tools-fastboot

lslogo

Repo’nun Hazırlanması:

mkdir ~/bin

PATH=~/bin:$PATH

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x ~/bin/repo

Çalışma Alanının Oluşturulması:

mkdir working-dir

(working-dir i istediğiniz şekilde adlandırın aokp,cyanogenmod vs.)

cd working-dir

Bölüm 2- Kaynak Kodlarının İndirilmesi

CyanogenMod_logo.svg

Rom Kaynak Kodlarının İndirilmesi:

repo init -u seçilen-manifesto

(seçilen-manifesto ile aşağıdakilerden uygun olanını değiştirin)

AOKP: https://github.com/AOKP/platform_manifest.git -b Dal
Cyanogenmod: https://github.com/CyanogenMod/android.git -b Dal
CarbonDev: https://github.com/CarbonDev/android.git -b Dal
Liquid Smooth: https://github.com/LiquidSmooth/android.git -b Dal
Dalı uygun dal ile değiştirin =cm12.1, lp5.1 vs
Emin Değilseniz linke tıklayarak uygun dalı bulun

 Cihaz Repolarının İndirilmesi

(Bu adım her cihaz için farklıdır , biz örnek olarak Samsung Galaxy S4 Mini (GT-I9190) cihazını kullanacağız)

git clone git repo -b branch hedef-yolu

git clone git git://github.com/Cyanogenmod/android_device_samsung_serrano3gxx -b cm-12.1 device/samsung/serrano3gxx

(Yukarıdaki örnek Samsung Galaxy S4 Mini için Cihaz Reposunu göstermektedir)

Repoyu Senkronize Edin

repo sync

Bu işlemin hızı internet hızınıza bağlı olarak değişebilir (Cyanogenmod 12.1 reposu yaklaşık 18 gb kadardır)

Bölüm 3- Romun Derlenmesi

. build/envsetup.sh

lunch
(Cihazınızın numarasını çıkan listeden seçiniz)

make -j# otapackage
# Numarasını işlemcinizin çekirdek sayısına uygun değiştirin (Tek seferde yapılacak işlemleri belirtmek için kullanılır ne kadar çok çekirdek o kadar iş demektir)

Cover_Google

Derleme Hataları

Bu hatalar bazen işleri çok fazla karıştırabilir fakat biz sizin için örnek bir hata vereceğiz ve bu hatanın çözümünü Google üzerinden nasıl bulacağınızı da göstereceğiz

Örnek 1:

hardware/qcom/display-caf/libgralloc/framebuffer.cpp:116:39: error: 'MSMFB_DISPLAY_COMMIT' was not declared in this scope

Hatayı Bulunduran Dosya
Hatayı Bulunduran kodun bulunduğu satır
Oluşan Hata
Bu gibi hataların çözümlerini bulmak için internette Oluşan Hata‘yı arayabilirsiniz

Örnek 2:

make: *** No rule to make target `Example_File'. Stop.

Bu gibi hataların nedeni yanlış yazım, ve ya yanlış becihazkodulirtilen yol olabilir bunları da örnek 1 deki gibi arayabilirsiniz

106

Sonuç

İşlemler bittiği zaman Rom dosyanız working-dir/out/target/product/cihazkodu/ yolunda olacaktır.