Av2xnn
Centipat
- Katılım
- 24 Temmuz 2024
- Mesajlar
- 466
- Makaleler
- 10
- Çözümler
- 3
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 16 GB 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.3. Git ayarını yapmaKod: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
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.
4. ROM seçimiKod:git config --global user.email "[email protected]" git config --global user.name "GitHubİsminiz"
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 olarak da isimlendirilebilir) reposuna gidiyoruz.
5. ROM ortamının hazırlanması ve verilerin çekilmesi
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:mkdir rom cd rom repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --git-lfs --depth=1
Bu işlem uzun sürecektir. Beklememiz gerekiyor.Kod:repo sync -c -j $(nproc --all) --optimized-fetch --force-sync
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çinbreakfast 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.
7. Derleme için hedef belirlemeKod:<?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>
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.
8. Derlemenin başlatılması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.
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.Kod:brunch sweet
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
E hocam nerede özel Launcher? E hocam nerede özel kişiselleştirme? E hocam nerede boot animasyonu? Bu dediğiniz kaynağa göre bende daha önce arkadaşlarımla beraber Custom ROM derleme işine girişmiştik ama en sonda sadece herhangi bir Custom ROM'un kendi cihazımıza göre tasarladığımızı (eğer cihazımız zaten destekleniyorsa aslında hiçbir şey yapmadığımızı) fark edince bu işi bırakmıştık bu derlemek olmuyor sanırım, ayrıca kaynak belirtmişsiniz ama daha çok kaynaktaki yazıları kopyalayıp yapıştırmışsınız gibi de geldi, neyse en azından forum bilgilendirmiş oldunuz