Merhaba arkadaşlar.
Emekli olmamın ardından, arada bazı kılavuzlar paylaşma kararı aldım. Bir çok kişinin merak ettiği ROM derleme hakkındaki rehberi paylaşıyorum.
Bu kılavuz, Ubuntu 16.04 ve üstü sürümlerde kullanılabilmektedir.
İlk olarak,
Bu linkte olan kılavuzdaki paket indirme adımlarını uygulayın.
Ardından;
Emekli olmamın ardından, arada bazı kılavuzlar paylaşma kararı aldım. Bir çok kişinin merak ettiği ROM derleme hakkındaki rehberi paylaşıyorum.
Bu kılavuz, Ubuntu 16.04 ve üstü sürümlerde kullanılabilmektedir.
İlk olarak,
Bu linkte olan kılavuzdaki paket indirme adımlarını uygulayın.
Ardından;
Code:
$ mkdir -p ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ sudo apt-get install repo
komutunu verin.
Ve Rom derlemesi alabilmek için ana dizininizde yeni bir dizin açın. Kılavuzumuzda örnek olarak "devotag" adında bir klasörü ele alıyorum. Bu klasörü açmak ve klasöre erişmek için;
Ve Rom derlemesi alabilmek için ana dizininizde yeni bir dizin açın. Kılavuzumuzda örnek olarak "devotag" adında bir klasörü ele alıyorum. Bu klasörü açmak ve klasöre erişmek için;
Code:
$ mkdir devotag
$ cd devotag
komutlarını uyguluyoruz.
Ardından derleyeceğimiz romun reposunu çekmek için; (Ben LineageOS baz alarak kılavuzu devam ettireceğim.)
Ardından derleyeceğimiz romun reposunu çekmek için; (Ben LineageOS baz alarak kılavuzu devam ettireceğim.)
Code:
repo init -u https://github.com/LineageOS/android.git -b lineage-17.1
Code:
repo sync -f --force-sync --no-clone-bundle -j$(nproc --all)
komutlarını veriyoruz.
Repo çekme işleminde diğer romlarda değişecek kısım,
"repo init -u" dan sonraki kısımdır. "https://github.com/LineageOS/android.git" şeklindeki kısım romun manifest linkidir. Manifest derleyeceğiniz romun Github sayfasında repo halinde bulunmaktadır. Ve reponun adı genellikle "android_manifest, manifest, android veya platform_manifest" olacaktır. o repoya girip url çubuğundaki linki repo çekme komutundaki "https://github.com/LineageOS/android.git" link yerine, komutta ki -b den sonraki kısma ise o repoda kullanacağınız branchı yazın.
Repo çekme işlemi internet hızınıza bağlı olarak uzun sürebilir. (Sunucularda yaklaşık yarım saat kadar sürecektir.) Bu işlem bittikten sonra cihaz kaynaklarını clone etmeniz gerekmektedir. Kılavuzda General Mobile 4G (Seed) baz alarak devam ettireceğim.
İlk olarak cihazınızın device, vendor ve kernel kaynaklarını bulunuz. Linkleri elinizde olsun.
Repo çekme işleminde diğer romlarda değişecek kısım,
"repo init -u" dan sonraki kısımdır. "https://github.com/LineageOS/android.git" şeklindeki kısım romun manifest linkidir. Manifest derleyeceğiniz romun Github sayfasında repo halinde bulunmaktadır. Ve reponun adı genellikle "android_manifest, manifest, android veya platform_manifest" olacaktır. o repoya girip url çubuğundaki linki repo çekme komutundaki "https://github.com/LineageOS/android.git" link yerine, komutta ki -b den sonraki kısma ise o repoda kullanacağınız branchı yazın.
Repo çekme işlemi internet hızınıza bağlı olarak uzun sürebilir. (Sunucularda yaklaşık yarım saat kadar sürecektir.) Bu işlem bittikten sonra cihaz kaynaklarını clone etmeniz gerekmektedir. Kılavuzda General Mobile 4G (Seed) baz alarak devam ettireceğim.
İlk olarak cihazınızın device, vendor ve kernel kaynaklarını bulunuz. Linkleri elinizde olsun.
Code:
Device Tree için
-- git clone <device tree linkiniz> -b <kullanacağınız branch> device/<cihaz markanız>/<cihazınızın kod adı> --
Örneğin;
$ git clone https://github.com/DevOtag-Open-Source/android_device_google_seed -b ten device/google/seed
Kernel Source için
-- git clone <kernel source linkiniz> -b <kullanacağınız branch> <Device Treede BoardConfig.mk da belirtilen kernel konumu> --
Örneğin;
$ git clone https://github.com/DevOtag-Open-Source/android_kernel_google_seed -b ten kernel/cyanogen/msm8916
Vendor tree için
-- git clone <vendor tree linkiniz> -b <kullanacağınız branch> vendor/<cihaz markanız> --
Örneğin;
$ git clone https://github.com/DevOtag-Open-Source/android_vendor_google -b ten vendor/google
Cihazınız için common device varsa;
-- git clone <common device tree linki> -b <kullanacağınız branch> device/<cihaz markası>/<chipset> --
Örneğin;
$ git clone https://github.com/DevOtag-Open-Source/android_device_cyanogen_msm8916-common -b ten device/cyanogen/msm8916
Derlemeden önce son olarak, cihazınızın device treesini clone ettiğiniz dizine "cd device/<marka>/<cihaz kod adı>" komutu ile giriniz.
Ardından ten kaynaklarınız ile rom derliyorsanız,
"nano AndroidProducts.mk" komutunu verin ve altlara doğru "herhangi bir rom adı_cihaz kod adı.mk" içeren bir satır olacak. Orada yazan rom adını derleyeceğiniz roma göre düzenleyin. Örnek olarak bende "aosp_seed.mk" yazıyorsa LineageOS derlemek için "lineage_seed.mk" yapıyoruz. ve ardından sırayla "ctrl+o, enter, ctrl+x" tuşlarına basıyoruz.
Ardından cihazınızda bulunan o "herhangi bir rom adı_cihaz kod adı.mk" dosyasını derleyeceğiniz roma göre adlandırın. Örneğin bende aosp_seed.mk var. LineageOS derlemek için device tree ana dizinindeyken, "mv aosp_seed.mk lineage_seed.mk" komutu veriyorum.
ve ardından o lineage_seed.mk adını verdiğim dosyayı açmak için, "nano lineage_cihaz kod adı.mk" komutu veriyoruz. Ben "nano lineage_seed.mk" komutu veriyorum.
dosya açıldıktan sonra;
PRODUCT_NAME := ile başlayan satırda cihaz kod adından önce gelen rom adını derleyeceğimiz roma göre düzenliyoruz örneğin;
PRODUCT_NAME := aosp_seed Olan satırı PRODUCT_NAME := lineage_seed
yapıyorum.
Ardından;
sırayla "ctrl+o, enter, ctrl+x" tuşlarına basıyoruz.
Sonra "nano vendorsetup.sh" komutu veriyoruz device tree ana dizinindeyken. Ve çıkan nano sayfasına "add_lunch_combo <rom adı>_<cihaz kod adı>-userdebug" satırını ekleyip kaydedip çıkıyoruz. Örneğin ben "add_lunch_combo lineage_seed-userdebug" satırını ekleyip çıkıyorum.
Sonra rom ana dizinine geliyoruz. Yani başta devotag adında açtırdığım dizine.
Sırasıyla;
Code:
$ source build/envsetup.sh
Code:
$ lunch <rom adı>_<cihaz kod adı>-userdebug
Code:
$ mka bacon -j$(nproc --all)
komutlarını vererek derlemeyi başlatıyoruz.

DevOtag Ekibi:
- @hgunduz295
- @trkzmn
- @Sedenogen
- @Celexa
- @NaytSeyd

DevOtag Ekibi:
- @hgunduz295
- @trkzmn
- @Sedenogen
- @Celexa
- @NaytSeyd
Last edited: