Rehber [VİDEO] Mi 9T ROM Derleme Rehberi - Basit ve Detaylı Anlatım

drasonli17

Deneyimli Üye
Deneyimli Üye
MIUI Sever
SMS Onaylı
Adım
Ömer
Cihazım
Mi 9T
Konum
Ankara
Katılım
1 Aralık 2019
Konular
19
Mesajlar
155
Tepkime puanı
313
Puanları
63
evet hocam o komutu girince hata alıyorum
Çünkü konumu vendor/resurrection olacak vendor/rr yerine
Ayrıca, Ressurection Remix Android 10 desteği tam olarak yok diye biliyorum.
 
Son düzenleme:

ahmetkydr

Yeni Üye
Yeni Üye
MIUI Sever
SMS Onaylı
Adım
ahmet
Cihazım
mi 8 se
Yaş
24
Konum
bursa
Katılım
28 Nisan 2019
Konular
1
Mesajlar
24
Tepkime puanı
18
Puanları
3
Çünkü konumu vendor/ressurection olacak vendor/rr yerine
Ayrıca, Ressurection Remix Android 10 desteği tam olarak yok diye biliyorum.
sitesinde android 10 romlar var hocam kaynak kodununda ten diye indirdim var sanırım desteği
 

YasPeh

Tecrübeli Üye
Tecrübeli Üye
MIUI Sever
SMS Onaylı
Adım
Yasin
Cihazım
Mi Note 10 Lite
Konum
İstanbul
Katılım
22 Aralık 2018
Konular
31
Mesajlar
858
Tepkime puanı
591
Puanları
108
Mükemmel konu. Kaydedildi
 

ahmetkydr

Yeni Üye
Yeni Üye
MIUI Sever
SMS Onaylı
Adım
ahmet
Cihazım
mi 8 se
Yaş
24
Konum
bursa
Katılım
28 Nisan 2019
Konular
1
Mesajlar
24
Tepkime puanı
18
Puanları
3
Çünkü konumu vendor/ressurection olacak vendor/rr yerine
Ayrıca, Ressurection Remix Android 10 desteği tam olarak yok diye biliyorum.
oldu hocam teşekkürler
 
Son düzenleme:

aliasaf

Elit Üye
Elit Üye
MIUI Sever
SMS Onaylı
Adım
Bilinmiyor
Cihazım
Bilinmiyor
Konum
Bilinmiyor
Katılım
17 Aralık 2019
Konular
125
Mesajlar
2.017
Tepkime puanı
3.208
Puanları
188
Görselleri görebilmek için kayıt olmanız gerekmektedir


Merhaba forum üyeleri ;
Xiaomi Mi 9T için nasıl ROM derleyebileceğinizi anlatmaya çalışacağım. Sizlerde bu aşamaları uygulayarak Mi 9T için rom derleyebilirsiniz.


Video :
-

Karşılaştığım sorunların çözümünü ve rehberlerime Gist hesabımdan da ulaşabilirsiniz.

İhtiyaçlar
  1. Linux 64 bit sanal makine - ( Kullandığım sistem : Microsoft Azure üzerinde Ubuntu 18.04 LTS 16GB RAM , vCPU 4 , 330GB )
  2. Sanal Makineye bağlanmak için SSH programı ( PuTTY kullanıyorum, dilerseniz MobaXterm'de kullanabilirsiniz)
  3. Akhilnarang scriptleri
  4. ROM Kaynak Dosyası ( ilk kısımda Lineage derlemeyi analatacağım, ikinci kısımda AOSP tabanlı rom derleme işlemlerini anlatacağım )
  5. Cihaz kaynak kodları ( Device, vendor, kernel, common ( Lineage için common gerekli, AOSP için kullanmayınız )
  6. ROM Derleme işlemini başlatma
  7. Elde ettiğiniz ROM zip dosyasını upload etmek için Sourceforge hesabı
LineageOS derleme

Adım 1 : Linux 64 bit sanal makine kurulumu


Yaklaşık olarak 200GB üstünde veri indireceğimiz ve yüksek RAM kullanımı sebebi ile bir sunucu üzerinde makinenizi çalıştırmanızı öneriyorum. Videoda Microsoft Azure üzerinde kullandığım sanl makinenin ayrıntılarını belirtiyorum. Eğer üniversite mailine sahipseniz Azure 100 dolarlık krediyi ücretsiz olarak hesabınıza tanımlıyor.

Adım 2 : Sanal Makineye bağlanmak

Görselleri görebilmek için kayıt olmanız gerekmektedir


Yukarıda gözüken IP Adress kısımına, sunucunuzun adresini giriniz. Kullanıcı adı ve şifreyi girdikten sonra sanal makineye bağlanınız.

Adım 3 : Akhilnarang Scripti Yükleme

İçerisinde derleme için gerekli olan yazılımları otamatik olarak sisteme aktaran bu scripti Linux sistemine kurmak oldukça basittir. Sanal makinemize bağlandıktan sonra

git clone

Komutu ile scripti sunucumuza aktaralım ve script klasörünün içesine girelim.

cd scripts

Daha sonra aşağıdaki kodu yapıştırarak yükleme işlemini başlatalım.

. setup/android*.sh

Yükleme tamamlanmaya yakın adınız ve mail adresiniz sorulacaktır, iletiniz.

Adım 4 : ROM Kaynak Dosyalarını İndirmek

Bu işleme başlamadan önce, çalışacağımız alan için bir klasör oluşturalım. ilk aşamada LineageOS derlemesini anlatacağım için kısa "lin" adında bir klasör yaratacağım.

mkdir lin

lin klasörünün içerisine aşağıdaki komut ile giriş yapalım.

cd lin

İlk kısımda LineageOS 17.1 derleyeceğimiz için googleda lineagos github yazalım, Android'e basalım aşağıdaki repo çekme komutlarını sırası ile uygulayalım.

Görselleri görebilmek için kayıt olmanız gerekmektedir


repo init -u git://github.com/LineageOS/android.git -b lineage-17.1

Bu kısımda yazıların renkli gösterilmesini istiyor musunuz diyebilir, y yazıp enterleyelim. Aşsağıdaki komut ile LineageOS kütüphanesinin sistemimize aktarmasını başlatalım. Makine ve makine internet hızına göre değişiklik gösterecektir tamamlanması, benim kullandığım sistemde yaklaşık 1 saat bekleme süresi ile karşılaşıyorum.

repo sync

Adım 5 : Cihaz Kaynak Kodlarını Aktarmak


Bu aşamada cihazımın kaynak kodlarını aktaracağız. ROM klasörümüzün içerisine aşağıdaki komutları işlem tamamlandıkça yapıştıralım.

LineageOS için

git clone hardware/xiaomi
git clone kernel/xiaomi/sm6150
git clone vendor/xiaomi
git clone device/xiaomi/sm6150-common
git clone device/xiaomi/davinci


Bu kısımda git clone ile hedef url belirtip, örneğin device/xiaomi/davinci yazısı ile hedef kaynağın hangi klasöre aktarılacağını belirtiyoruz.

Adım 6 : ROM derleme işlemini başlatma

. build/envsetup.sh

Komutunu girdikten sonra aşağıdaki komutu girelim.

brunch davinci

Sisteminizin hızına göre derleme işlemi tamamlanacaktır. Benim sunucum yavaşlığı yüzünden 7-10 saatlere varan derleme süreleri alabiliyorum. ROM zip dosyanız out/target/products klasöründe olacaktır.

Adım 7 : Zip Dosyasını Upload Etme

Öncelikle üzerinden bir hesap oluşturalım, sonrasında proje oluşturalım. Proje ismini bir yere not ediniz.
Daha sonra ROM zip dosyamızın olduğu klasöre gidelim. (out/target/products)

scp romismi.zip kullanıcıadın@frs.sourceforge.net:/home/frs/project/projeadın/

Sourceforge şifren istenilecektir, giriş yaptıktan sonra upload işlemi başlayacaktır.

İşlem tamam, eğer yardımcı olduysam ROM konuna adımı paylaşırsan sevinirim.
Bana bu süreçte yardımcı olan tüm geliştiricilere teşekkür ederim.

-

AOSP Tabanlı ROM derleme

Yukarıda bulunan adım 3' kadar olan bölümleri uygulayın.

Adım 4 : ROM Kaynak Dosyalarını İndirmek


Derlemek istediğiniz ROM'un github manifest dosyasına gidin ve derleme komutlarını yapıştırın. Örnek ionOS

repo init -u -b ten
repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags


Adım 5 : Cihaz Kaynak Kodlarını Aktarmak


Bu aşamada cihazımın kaynak kodlarını aktaracağız. ROM klasörümüzün içerisine aşağıdaki komutları işlem tamamlandıkça yapıştıralım.

AOSP Tabanlı ROMLAR için

git clone kernel/xiaomi/davinci
git clone vendor/xiaomi
git clone device/xiaomi/davinci
git clone vendor/ANXCamera


Bu kısımda git clone ile hedef url belirtip, örneğin device/xiaomi/davinci yazısı ile hedef kaynağın hangi klasöre aktarılacağını belirtiyoruz.

Adım 6 : Dosya Düzenleme

cd device/xiaomi davinci

komutu ile cihaz kaynak dosyamızın içerisine girelim.


Daha sonra nano AndroidProducts.mk komutu ile, AndroidProducts.mk dosyamızı düzenleyelim. Burada derlemek istediğiniz rom adını ilgili yerler ile düzenleyeceğiz. Örneğin havoc derleyelim. Örnek şu şekilde olacak ;

Değiştirilmemiş AndroidProducts.mk dosyası

PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/ion_davinci.mk
COMMON_LUNCH_CHOICES := \ ion_davinci-eng \ ion_davinci-userdebug

Havoc için


PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/havoc_davinci.mk
COMMON_LUNCH_CHOICES := \ havoc_davinci-eng \ havoc_davinci-userdebug

Düzenlemeyi bitirdikten sonra CTRL+O tuşu ile kaydetip, enterlayın ve CTRL+X ile dosyadan çıkış yapın.

Tabii ki burada havoc için örnek veriyorum, derlemek istediğiniz roma göre adım dörtte istediğiniz rom reposunu çekmeniz ve düzenlemeyi buna göre oluşturmanız gerekmekte.

-

Tekrardan rom/device/xiaomi/davinci konumuna gelelim ve ion_davinci.mk klasörünün adını derlemek istediğimiz rom adı ile değiştirelim. Örmek havoc için;

mv ion_davinci.mk havoc_davinci.mk


Şimdi adını değiştirdiğimiz havoc_davinci.mk dosyasının içerisine girelim ve düzenlemelerimizi yapalım. Dosyaya giriş yapmak için aşağıdaki kodu yazalım.

nano havoc_davinci.mk

Değiştirilmemiş havoc_davinci.mk dosyası



Görselleri görebilmek için kayıt olmanız gerekmektedir


Mavi kalem ile belirttiğim yerlerde bulunan ion yazısını derlemek istediğimiz ROM adı ile değiştirelim. MiuiCamera bölümünü ise ANXCamera olarak adlandıralım.
CTRL+O komutu ile değişikliklerimizi kaydedelim, CTRL+X komutu ile dosyadan çıkalım. Daha sonra MiuiCamera'mıza izin verme aşamasına geçelim.

Aşağıda izin verme aşamalarını anlattım, aşağıdaki adresten neler yaptığımı anlayabilirsiniz.





Bunun için rom klasörümüzün içindeki rom/frameworks/av/camera/cameraserver klasörüne gidelim, nano Android.bp komutu ile dosyayı açalım
24. satırdaki "libcameraservice", komutunu silelim yerine
"//frameworks/av/services/camera/libcameraservice:libcameraservice",
yapıştıralım.

Aynı dosyanın // limitations under the License. yazısının altına bir satır boşluktan sonra

soong_namespace {
}

girelim.

İşlemi bitirdikten sonra CTRL+O yapıp kaydedlim, CTRL+X komutu ile kapatalım. cd komutu ile ana dizine daha sonra cd romklasörümüznadı/frameworks/av/services/camera/libcameraservice klasörüne gidelim ve nano Android.bp ile dosyamızı açalım

// limitations under the License.

altına bir satır boşluk bırakarak aşağıdaki kodu yapıştıralım kaydedelim ve çıkalım.

soong_namespace {
}

İzin verme işlemimizide bitirdiğimize göre cd komutunu verelim, cd romklasörününadı ile rom klasörümüze girelim.

Adım 7 : Derlemeyi başlatma

Rom klasörünün içerisindeyken ;

. build/envsetup.sh
lunch havoc_davinci-userdebug
( Rom dosyanızın adına göre şekillenecektir, lunch ion_davinci-userdebug gibi )
brunch davinci ( Bu komut romdan roma değişkenlik gösterebilir bunun için derlemek istediğiniz rom manifestinde hangi komutu vereceğiniz belirtilir.)

Adım 8 : Zip Dosyasını Upload Etme

Öncelikle üzerinden bir hesap oluşturalım, sonrasında proje oluşturalım. Proje ismini bir yere not ediniz.
Daha sonra ROM zip dosyamızın olduğu klasöre gidelim. (out/target/products)

scp romismi.zip kullanıcıadın@frs.sourceforge.net:/home/frs/project/projeadın/

Sourceforge şifren istenilecektir, giriş yaptıktan sonra upload işlemi başlayacaktır.

İşlem tamam, eğer yardımcı olduysam ROM konuna adımı paylaşırsan sevinirim.
Bana bu süreçte yardımcı olan tüm geliştiricilere teşekkür ederim.

drason
Teşekkür ederim

miuiturkiye.net dışında izinsiz paylaşılması uygun değildir.
Elinize sağlık hocam bu anlatımlardan yola çıkarak başka cihazlarda rom derlerken hata çıkabilirmi hocam anlatılanları eksiksiz yaparak
 

drasonli17

Deneyimli Üye
Deneyimli Üye
MIUI Sever
SMS Onaylı
Adım
Ömer
Cihazım
Mi 9T
Konum
Ankara
Katılım
1 Aralık 2019
Konular
19
Mesajlar
155
Tepkime puanı
313
Puanları
63
Elinize sağlık hocam bu anlatımlardan yola çıkarak başka cihazlarda rom derlerken hata çıkabilirmi hocam anlatılanları eksiksiz yaparak
Cihazının kaynak kodlarını kullanırsan sıkıntı olmaz diyemem çünkü her cihazın kendine özel durumları olabiliyor bu cihaz kaynak kodlarını düzenleyen geliştiriciye bağlı olacaktır. örneğin mi 9t özelinde diğer telefonlarda olmayan pop-up kameranın/ ekran altı parmak izi yazılımının yolunu belirten kod bulunuyor, geliştirici bu kodun yolunu yanlış belirtirse hata alabilirsin derlerken. Hata mesajlarını anlamlandırdıkça çözümleri yakalayarak süreci tamamlayabilirsin. Hata alırsan kodlarını konu altına iletince yardımcı olmaya çalışayım bende
 

aliasaf

Elit Üye
Elit Üye
MIUI Sever
SMS Onaylı
Adım
Bilinmiyor
Cihazım
Bilinmiyor
Konum
Bilinmiyor
Katılım
17 Aralık 2019
Konular
125
Mesajlar
2.017
Tepkime puanı
3.208
Puanları
188
Cihazının kaynak kodlarını kullanırsan sıkıntı olmaz diyemem çünkü her cihazın kendine özel durumları olabiliyor bu cihaz kaynak kodlarını düzenleyen geliştiriciye bağlı olacaktır. örneğin mi 9t özelinde diğer telefonlarda olmayan pop-up kameranın/ ekran altı parmak izi yazılımının yolunu belirten kod bulunuyor, geliştirici bu kodun yolunu yanlış belirtirse hata alabilirsin derlerken. Hata mesajlarını anlamlandırdıkça çözümleri yakalayarak süreci tamamlayabilirsin. Hata alırsan kodlarını konu altına iletince yardımcı olmaya çalışayım bende
Teşekkürler hocam pc alınca başlicam tekrar dan teşekkürler
 
Üst Alt