Rehber Custom ROM nasıl derlenir?

lyntax

Decapat
Katılım
1 Ekim 2024
Mesajlar
1.073
Makaleler
9
Çözümler
12
Daha fazla  
Cinsiyet
Erkek
Custom ROM derlemek kolay değildir ancak dünyanın en zor işi de değildir. Aşağıdaki adımları takip ederek, gereksinimleri karşılayarak size bir Custom ROM derleyicisi olabilirsiniz. Rehberde, XIAOMI Redmi Note 10 Pro cihazımı kullandım. Bu rehberi açma amacım foruma katkı sağlamak ve diğer telefonlara da bunu yapabilmenizi sağlamak.

1. Gereksinimler
┌── Linux bir sistem. (Ubuntu, Debian, Arch olabilir.)
| MacOS veya WSL olmuyor, sanal makineye veya Linux bir sisteme ihtiyacınız var.
| İyi bir internet bağlantısı (1GBPS Şiddetle tavsiye edilir, çekeceğimiz veri 150GB kadar olabilir.)
| En az 4 çekirdekli işlemci, 8 tavsiye edilir.
| Minimum 16GB RAM. (RAM 16'ysa 32'ye SWAP ayarlamanız zorunludur.)
| 300GB kadar boş alana sahip bir SSD. (NVMe önerilir.)
└─ Basit bir Linux bilgisi
2. Gereken scripti çalıştırma
Bu işi kolaylaştıran bir script var, Akhilnarang betiği. İşimizi kolaylaştırması için bu scripti bilgisayarımıza git kullanarak çekeceğiz ve çalıştıracağız.
Kod:
git clone https://github.com/akhilnarang/scripts
cd scripts && bash setup/android_build_env.sh # alternatif olarak arch dağıtımı tercih edildiyse arch-manjaro.sh
3. Git ayarını yapma
Android'in kaynak dosyalarını çekmeden önce, kim olduğumuzu git'e belirtmemiz gerekiyor. Bunun için de bir GitHub hesabına sahip olmanız gerekiyor.
Kod:
git config --global user.email "emailiniz@host.com"
git config --global user.name "GitHubİsminiz"
4. ROM seçimi
Mevzu Custom ROM olunca, tonlarca seçeneğiniz var. Bu bağlantıya tıklayarak tüm ROM'ları görebilir, seçebilirsiniz. Ben rehberimde LineageOS kullanacağım. ROM seçme sitesinden seçtiğimiz ROM'un GitHub sayfasına gidiyoruz. Ardından manifest (android olarakta isimlendirilebilir) reposuna gidiyoruz.
5. ROM ortamının hazırlanması ve verilerin çekilmesi
Kod:
mkdir rom
cd rom
repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --git-lfs --depth=1
Bu komut ile rom isimli bir klasör oluşturuyorum, klasöre giriyorum ve Android verilerini çekmeye başlıyorum. --depth=1 argümanı opsiyoneldir, kötü internetiniz varsa kullanmanız şiddetle tavsiye edilir. Şimdi ise verileri çekeceğiz.
Kod:
repo sync -c -j $(nproc --all) --optimized-fetch --force-sync
Bu işlem uzun sürecektir. Beklememiz gerekiyor.
6. Cihaz kaynaklarının ayarlanması
Şimdi ise herkeste değişecek o konuya geldik, bu adım çok önemli. Cihaz ağacınızı ve vendorunuzu bulup rom klasörüne eklemeniz gerekli. Cihaz ağacınız cihazınız hakkında donanımsal bilgileri içeren dosyaları barındırıyor. Vendor dosyaları ise yine donanımsal bilgileri barındırıyor ama genelde kapalı kaynaklı dosyaları barındırıyor. Her cihazın kendi cihaz ağacı vardır, yoksa sizin yazmanız gerekir. Ama bu da rehberin dışına çıkar ve çok zordur. Benim cihazım Lineage tarafından desteklendiği için breakfast sweet yazdığımda benim için cihaz ağacımı çekecek fakat vendoru çekmeyecek, çünkü vendorda kapalı kaynak dosyalar mevcut. Cihazımız desteklenmeseydi .repo klasörünün altında oluşan localmanifest klasörüne bir .xml dosyası oluşturup aşağıdaki kodu girecektim.
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project path="device/xiaomi/sweet" remote="github" name="xiaomi-sm6150/android_device_xiaomi_sweet" revision="lineage-21" />
  <project path="device/xiaomi/sm6150-common" remote="github" name="xiaomi-sm6150/android_device_xiaomi_sm6150-common" revision="lineage-21" />
  <project path="kernel/xiaomi/sm6150" remote="github" name="xiaomi-sm6150/android_kernel_xiaomi_sm6150" revision="lineage-21" />
  <project path="vendor/xiaomi/sweet" remote="github" name="xiaomi-sm6150/android_vendor_xiaomi_sweet" revision="lineage-21" />
  <project path="vendor/xiaomi/sm6150-common" remote="github" name="xiaomi-sm6150/android_vendor_xiaomi_sm6150-common" revision="lineage-21" />
  <project path="hardware/xiaomi" remote="github" name="xiaomi-sm6150/android_hardware_xiaomi" revision="lineage-21" />
</manifest>
7. Derleme için hedef belirleme
Derleme işlemine başlamadan önce derlemenin amacını belirtmemiz gerekiyor. Bunu da lunch komutu kullanarak yapıyoruz. rom-ismi kısmına ROM ismini yazacaksınız. Mesela lineageos, code-name kısmına da cihazınızın kod adını yazacaksınız. Örnek olarak sweet.
Kod:
lunch rom-ismi_code-name-userdebug # durumuna bağlı olarak stable bir build için user veya aşırı ekstra debuglamak için eng ek'i kullanılabilir.
8. Derlemenin başlatılması
Kod:
brunch sweet
Kodu ile derlemeyi başlatıyorum. sweet yerine yine cihazınızın kod adını yazacaksınız. Bu iş çok uzun sürecek. 24-48 saat gibi süreleri bekleyebilirsiniz. Derleme bittiğinde ROM'unuz out/target/product/kod-adı içerisinde olacaktır.

9. Ek bilgiler
Eğer ki Google servislerini kullanmak isterseniz, OpenGApps flaşlamanız gerekecek.

İşlemlerin sonunda, sizde bir ROM derleyicisi olabilirsiniz.

Kaynak eklemeyi unutmuşum: 📱 Custom ROM Derleme Rehberi
 
Son düzenleme:
Gereksinimlerden sonra okumayı bıraktım ama rehber için teşekkürler. :)
 
Konu Yusuf İpek'in Custom ROM videosuyla birebir örtüşüyor kullandığınız telefon Yusuf İpek'in telefonuyla aynı. İlginç.
Hocam kaynak ekledim, rehberin kısaltılmış hali zaten :D. Sadece arattığınızda ingilizce rehberler çıkıyor bende foruma böyle bir şey yapmak istedim.
 
Güzel rehber. 150 GB yetmiyor bu arada. Derledikten sonra 230 GB'a kadar çıkıyor.
Android 15'in şuan 180 GB.
geçen Android 15 derledim. Az daha monitöre yumrulacaktım :)
Ben de Alcatel pixi 4 tablete bir ara android 6 ya da 7 yapsam mı diyordum bu gereksinimlerin çeyeğine zor yetiyorum. İyi ki girişmemişim o zaman.
 
Ben de Alcatel Pixi 4 tablete bir ara Android 6 ya da 7 yapsam mı diyordum bu gereksinimlerin çeyeğine zor yetiyorum. İyi ki girişmemişim o zaman.

Cihaz kaynaklarını elde etmek zor.

Teşekkürler, 300 GB yazmıştım zaten. Ben derleyemiyorum ama internetim çok kötü :(.

Ayrıca güçlü makine şart. İmzanızdaki sistemle çok zor.
 

Technopat Haberler

Yeni konular

Geri
Yukarı