Rehber Twrp Recovery Derleme Kılavuzu

mbtt

Deneyimli Üye
Deneyimli Üye
MIUI Sever
Adım
Lütfi
Cihazım
Le Pro3
Yaş
26
Konum
ankara
Katılım
22 Mayıs 2016
Konular
68
Mesajlar
102
Tepkime puanı
214
Puanları
43
DİPNOT
BU İŞLEMDEN DOĞABİLECEK SORUNLARDAN ŞAHSIM VE FORUM MIUITR SORUMLU TUTULAMAZ.


AÇIKLAMA
Bu kılavuz ile Twrp recovery derleyebilirsiniz.

Rica bu kılavuzdan yardım aldıysanız ismim konunuzun teşekkürler kısmında geçsin.


ANLATIM
Bilinmesi Gerekenler
Eğer CyanogenMod derliyorsanız;
/bootable/recovery-twrp Dizinine gidip o klasörü vereceğim linkteki kaynakla değiştirmeniz gerekir.

Link :

Ayrıca seçerken en yeni sürümü tercih edin.

Ayrıca bu adım Omni için geçerli değildir çünkü Omni en yeni Twrp kaynağını alır.

Derlemeden Önce
Not: Eğer bir flag ekliyor ya da değiştiriyorsanız : derleme almadan önce make clobber ya da make clean yapmalısınız aksi taktirde değişikliğiniz uygulanmayacaktır.

İlk olarak BoardConfig.mk dosyanızı treenizden çıkarın. Bu Board dosyası cihazınızın kimliği işlemcisi ve mimarisi hakkında bilgi verir.
Ki bu satırlar genelde Board dosyanızın en üstünde yer alan satırlardır. Eğer bu satırlar olmazsa cihazınız Twrp ekranına geldikten sonra logosunda yeniden başlatma gibi bir soruna yol açacaktır.

Örneğin: adresine bakarak 3-23 satırlar arası bunun örneğini inceleyebilirsiniz.

Daha sonrasında ise Twrp'nin nasıl çalışacağı ne özellikler taşıyacağı hakkında flaglar ekleyeceksiniz.
Bu flagları ise 52-83 arasında bulabilirsiniz.

Örneğin:

WITH_TWRP := True -> Twrp ile derleneceğini sisteme tanıtır.

RECOVERY_VARIANT := Twrp -> Bu satır hangi recoveryi kullanacağınızı belirtir. Twrp yazın.

TW_THEME := portrait_xxxxx -> Burada ki xxxxx cihazınızın çözünürlüğü hakkında hdpi bilgisi verir. hdpi xhdpi gibi bu değeri cihazınız için girmeniz gerekir.
Ayrıca baştaki portrait ise dikey olacağını belirtir. Eğer yatay olarak derlemek istiyorsanız örneğin bir tablet için landscape yazmanız gerekir.


RECOVERY_SDCARD_ON_DATA := true -> Bu satır ise data/media klasörünü barındıran sistemlerde bu klasörün uygun şekilde kullanılmasını sağlar.
Bu flagı eğer koymazsanız Twrp otomatik olarak /sdcard, /internal_sd, /internal_sdcard, ya da /emmc gibi bir hafıza yerine emulated_storage olarak hafızayı sizin için ayarlar.
Ve eğer siz dahil etmediyseniz bu satırı fstab dosyanızdan da yukarıdaki bölümlendirmeleri kaldırmanız gerekir.


BOARD_HAS_NO_REAL_SDCARD := true -> Bu satır sdcard gibi bölümlendirmeleri devredışı bırakarak eğer Twrp recoveryniz, recovery bölümlendirmenize sığmıyorsa Twrp için yer açılmasını sağlar.

TW_NO_BATT_PERCENT := true -> Batarya seviyesini doğru göstermeyen cihazlar için bunu eklerseniz seviye göstergeci kaldırılır.

TW_NO_REBOOT_BOOTLOADER := true -> Yeniden başlat menüsünden bootloader seçeneğini kaldırır.

TW_NO_REBOOT_RECOVERY := true -> Yeniden başlat menüsünden recovery seçeneğini kaldırır.

daha fazla Flag vardır ki hepsi tüm cihazlarda kullanılmadığı için burada listelemeye gerek yoktur.
Eğer derleme alıyorsanız hangi flagları kullanmanız gerektiğini belirlemeniz gerekir. Yukarıdakiler kısa örneklerdir.

Recovery.Fstab
TWRP 2.5 ve üstü, TWRP'nin yedekleme/geri yükleme özelliklerini kullanmak için bazı yeni recovery.fstab özelliklerini destekler. Birçok bölme otomatik olarak işlendiğinden fstab flagları eklemeniz gerekmez.

Bir recovery.fstab dosyası cihazınızın bölümlendirmeleri hakkında bilgi verir. Ki bu bilgilendirmeler sayesinde recovery bölümlendirmelerinizi uygun şekilde tanır.

Örnek bir recovery.fstab dosyası:

Kod:
/boot       emmc        /dev/block/platform/msm_sdcc.1/by-name/boot
/system     ext4        /dev/block/platform/msm_sdcc.1/by-name/system
/data       ext4        /dev/block/platform/msm_sdcc.1/by-name/userdata length=-16384
/cache      ext4        /dev/block/platform/msm_sdcc.1/by-name/cache
/recovery   emmc        /dev/block/platform/msm_sdcc.1/by-name/recovery
/efs        ext4        /dev/block/platform/msm_sdcc.1/by-name/efs                            flags=display="EFS";backup=1
/external_sd     vfat       /dev/block/mmcblk1p1    /dev/block/mmcblk1   flags=display="Micro SDcard";storage;wipeingui;removable
/usb-otg         vfat       /dev/block/sda1         /dev/block/sda       flags=display="USB-OTG";storage;wipeingui;removable
/preload    ext4        /dev/block/platform/msm_sdcc.1/by-name/hidden                            flags=display="Preload";wipeingui;backup=1
/modem      ext4        /dev/block/platform/msm_sdcc.1/by-name/apnhlos
/mdm        emmc        /dev/block/platform/msm_sdcc.1/by-name/mdm

Yukarıdaki gibi görünür. Bu recovery.fstab dosyası Galaxy S4'ten alınmıştır.

Sonlarındaki flags=display= ile başlayan satırlar o bölümlendirmenin ne olarak gösterileceğini belirtir. OTG kaynağı ya da hafıza kartı olarak gösterilecekse bunlar eklenmelidir.

Aynı satırların sonlarındaki komutların açıklamasıda şöyledir:

storage; Hafıza olduğunu belirtir.
wipeingui; Advanced Wipe menüsünde sıfırlanmak için gösterilir.
removable Çıkarılabilir olduğunu gösterir.

Derleme
Tüm işlemleriniz bittikten sonra

Kod:
. build/envsetup.sh

komutunu verin.

Ardından ise:

Kod:
make clean

ve

Kod:
make recoveryimage

komutlarını verin.

Treble Desteği
1-) "sadece a" Sistemine Sahip İse:

- twrp.fstab

Cihazın bir vendor partitionu olduğunu belirtmek için aşağıdaki satırları dosyanıza ekleyin.

Kod:
/vendor                ext4        /dev/block/bootdevice/by-name/vendor    flags=display="Vendor";mounttodecrypt;
/vendor_image   emmc    /dev/block/bootdevice/by-name/vendor    flags=flashimg=1


- BoardConfig.mk

Cihazın vendor bölümlendirmesinin var olduğunu - vendor bölümlendirmesinin genişliğini ve vendor partitionunun dosya sistemini belirtmek için aşağıdaki flagları ekleyin.

Kod:
BOARD_VENDORIMAGE_PARTITION_SIZE := 649523200
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_VENDOR := vendor

BOARD_VENDORIMAGE_PARTITION_SIZE := -> Karşısına siz kendi vendor bölümlendirmenizin genişliğinin değerini yazacaksınız.

Örneğin:
BOARD_VENDORIMAGE_PARTITION_SIZE := 649523200 gibi



2-) "a/b seamless" Sistemine Sahip İse:

- twrp.fstab

Bu dosyaya A ve B bölümleri arasında geçiş yapmak için boot ve system partition satırlarına slotselect flagını eklememiz gerekiyor.

Örneğin:
Kod:
/boot        emmc    /dev/block/bootdevice/by-name/boot
/system        ext4    /dev/block/bootdevice/by-name/system
/system_image    emmc    /dev/block/bootdevice/by-name/system
/vendor        ext4    /dev/block/bootdevice/by-name/vendor
/vendor_image    emmc    /dev/block/bootdevice/by-name/vendor

şeklindeyse, Aşağıdaki gibi olacaktır.

Kod:
/boot        emmc    /dev/block/bootdevice/by-name/boot    flags=slotselect
/system        ext4    /dev/block/bootdevice/by-name/system    flags=slotselect
/system_image    emmc    /dev/block/bootdevice/by-name/system    flags=slotselect
/vendor        ext4    /dev/block/bootdevice/by-name/vendor    flags=slotselect;display="Vendor";backup=1
/vendor_image    emmc    /dev/block/bootdevice/by-name/vendor    flags=slotselect


- Eklenmesi Gereken Dosyalar

A/B sistemi a ve b partitionları arasında geçiş yapmak için bazı kütüphane dosyalarından yararlanır.
Aşağıdaki 2 dosya bunu sağlar bunları bulun ve aşağıda belirttiğim klasörlere atın. Eğer klasörler yok ise oluşturun ve öyle atın.

recovery/root/vendor/lib64/hw/ klasörüne "bootctrl.msmXXXX.so"
recovery/root/vendor/lib64/ klasörüne "librecovery_updater_msm.so"

NOT: xxxx olarak belirttiğim yer msm sürümünüzdür. Örneğin: msm8996 gibi

Aşağıdaki dosya ise payload.bin şeklinde olan OTA romlarını yüklemek için gerekir.
Bu dosyayı da tercihe göre bu desteği eklemek için ait olduğu klasöre atın eğer klasör yok ise oluşturun ve öyle atın.

recovery/root/sbin/ klasörüne "update_engine_sideload"


- BoardConfig.mk

Ayrıca cihazın A/B sistemine sahip olduğunu belirtmek ve sisteme tanıtmak için aşağıdaki flagı BoardConfig.mk dosyanıza eklemeniz gerekmektedir.

Kod:
AB_OTA_UPDATER := true
 
Son düzenleme:

mbtt

Deneyimli Üye
Deneyimli Üye
MIUI Sever
Adım
Lütfi
Cihazım
Le Pro3
Yaş
26
Konum
ankara
Katılım
22 Mayıs 2016
Konular
68
Mesajlar
102
Tepkime puanı
214
Puanları
43
GÜNCELLEME - 04.05.2019 -
"Treble Desteği Ekleme"
anlatımı eklendi.
Renklendirme yapıldı. Göze güzel gelecek şekilde düzenlendi önemli yerlere belirteçler eklendi.
 
Üst Alt