• GSM Turkey Güvencesi ve Kalitesiyle

     

    Uzaktan bağlantı ile cihazlarınızın yazılımsal sorunları ücretli olarak giderilir.

    Whatsapp İrtibat Numaramız:

    552 812 07 24 
    (Sadece Whatsapp üzerinden mesaj yazınız, lütfen hattı aramayınız!)

    Telegram Adresimiz:

    https://t.me/Gsmturkey

Development Android Geliştirici Rehberim - Defconfig | DTB Çekme Kılavuzu

Zenlty

Aktif Üye
VIP Üye
Katılım
23 Haz 2018
Mesajlar
1,086
Tepkime puanı
5,539
Puanları
113
Yaş
19
Konum
Fethiye
Çevrimdışı


Defconfig - DTB Çekme İşlemleri

29.04.2021



Eğitmen : Azat Barış MIZRAKLI

Gereksinimler
  1. Linux İşletim Sistemi ( Ubuntu 16.04 veya Mint önerilir)
  2. Android Image Kitchen
  3. Split Appended Dtb
  4. Ikconfig
  5. Boot Image veya zImage (Kernel)
  6. Android Debug Bridge (ADB) Aracı
  7. Gerektiği takdirde Windows İşletim Sistemi (7 üzeri önerilir)
  8. Gerektiği takdirde emmcdl , QSaharaServer , fh_loader
  9. Gerektiği takdirde MediaTek Smart Phone Flash Tool (1824 üzeri önerilir)
  10. Linux için Git
Not : Boot dosyası için yaptığımız bütün işlemleri recovery dosyası içinde yapabilirsiniz. Buradaki boot dosyasındaki işimizin amacı içerisinden kerneli elde etmektir. Kernel hem boot hem de recovery’de bulunabilir.

Not : Linux işletim sisteminde ‘$’ ile başlayan kodlar terminal ekranına yazılacaktır.

Not : Windows İşletim sisteminde ‘$’ ile başlayan kodları gerekli yerlerde açıklamalı olarak belirteceğim.

Boot Dosyasını Elde Etme
  1. Bu aşamada birçok yol mevcuttur. Cihazınızda root var ise android debug bridge ile yedek alabilirsiniz. Bunun için uygulama marketinde çeşitli yedekleme araçları mevcut.
  2. Buna alternatif olarak android debug bridge ile yedek alabilirsiniz.
Android Debug Bridge ile Boot Partition Bulma ve Yedek Alma (ROOT)
Kullandığınız işletim sistemine göre adb aracını indirin.

Cihazınızın USB Hata Ayıklama modunu açıp ; Linux kullanıyorsanız dosya aktarım modu, Windows kullanıyorsanız Yalnızca Şarj modunda Orijinal USB Kablosu ile bağlayın.

Ardından cihazın recovery partitionuna ulaşmamız gerekiyor ki yedek alma imkanını elde edelim. Öncelikle gerekli izinleri alalım.

Android, Linux tabanlı çekirdek kullanmış olduğundan linux komutlarımızı kullanabileceğiz. Gerekli izinleri almak için öncelikle adb aracını açalım.

Bütün işlemleri yaparken cihazımızın ekranın açık olarak takip edelim.

Not : Windows işletim sistemi kullanan kullanıcılar $ ile başlayan kodları Minimal ADB & FastBoot aracına yazacaktır. $ clear komutu yerine cls komutunu kullanın (ADB Windows Version)


$ adb devices



Komutu verelim. Size karşılık olarak wcnsde tanımlı olan seri numarası ile şu komuta benzer çıktı verecektir.

$ serino device






Devices komutunu gördükten sonra

$ adb shell

$ su



Yazarak linux komutlarını kullanabileceğimiz altyapıya erişim sağlayalım. Ve root iznini cihazda onaylayalım.

$ ls

$ cd dev

$ ls

Çıkan çıktıya göre devam edin. Genelde partitionlar /dev/block/bootdevice/by-name/partitionadi şeklinde olur bu yüzden devam edelim.



Bootdevice gördük devam ediyoruz.

$ cd bootdevice

$ ls



Buradaki asıl partition isimleri mmcblk0p ile başlar ancak isimlerini göremediğimiz için devam edelim.

‘By-num’ ile ‘By-name’ arasında kaldıysanız kesinlikle by-name seçin. Sebebi ise isimlerinin içerisinde yazmasıdır.

$ clear

Ekranı temizledik.

$ cd by-name

$ ls



Partitionların hepsini listeledik. Bizim istediğimiz boot dosyası. Kernel recovery dosyasında da bulunabilir ikisinden birisini seçin. Şimdi izlediğiniz yolu not alın. Eğer unuttuysanız linux size yardımcı olacaktır.



/dev/block/bootdevice/by-name

Yolunu izledik. Şimdi istediğimiz partitiona göre yol alırsak :

/dev/block/bootdevice/by-name/boot

Bu partition yolunu not alınız.

Not : Eğer cihazınız Android 8 veya üzeri ise Treble A/B desteği olma ihtimali vardır. Bu durumda sizin partition listenizde boot yerine ‘boot_a’ ‘boot_b’ partitionları görebilirsiniz. Siz bu durumda ikisinden birisini yedek alabilirsiniz.

/dev/block/bootdevice/by-name/boot_a

Bu partition yolunu not alınız.

Linux işletim sistemi ve altyapılarında partition/bölüm yedeklerini almak için kullandığımız komut ‘dd’ komutudur. Bu komutu kullanarak ilgili partitionun yedeğini alacağınız.


Partition Yolundan Yedek Alma
$ clear

Komutu ile ekranı temizleyelim.

$ dd if=/partitionyolu of=/sdcard/boot.img

Komutu ile yedek alacağız aşağıdaki komuta benzer olacaktır.

$ dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img



Şimdi aldığınız yedek cihazınızın dahili hafızasında boot.img adıyla bulunacaktır. Kontrol edecek olursak ;


Boyuttan tasarruf etmek için kodun yanına bs=4096 komutunu ekleyebilirsiniz.

Kodunuz şuna benzer olacaktır.

$ dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img bs=4096




Başlangıçta bilgisayardan bağladığınız zaman dahili depolamada göremeyebilirsiniz. Dosya yöneticisi uygulaması ile manuel olarak telefon üzerinden kontrol edin bulunuyorsa cihazı yeniden başlatarak veya isim değiştirerek görünmesini sağlamanız mümkün.


İşlem tamamlandı ise Ayrıştırma bölümüne geçebilirsiniz.


TWRP Recovery ile Boot Dosyası Elde Etme

Eğer cihazınızda TWRP Recovery bulunuyorsa Backup > Boot yolu ile yedek alabilirsiniz.

Aldığınız yedek TWRP>Backup>Serino>Tarihliklasör>Boot.ext4 olacaktır.

Boot.ext4 adını boot.img olarak değiştirin.

İşlem tamamlandı ise Ayrıştırma bölümüne geçebilirsiniz.


EMMCDL ile Boot Dosyası Elde Etme (Qualcomm SnapDragon)
EMMCDL kullanmak için Windows işletim sistemine sahip olmalısınız.

EMMCDL aracını githubdan indirelim.

EMMCDL kullanmak için programmer(firehose) sahip olmalısınız ve bu cihaza özel olur.

Firehose dosyasını emmcdl klasörüne atalım ardından cihazı edl moda alalım

Shift tuşuna basarak sağ tık yaparak CMD ekranını açalım.

Emmcdl -p COMx -f firehose.mbn -d boot -o boot.img

Yazarak yedeği alabilirsiniz.

COMx EDL modda olan cihazın port adıdır. Aygıt yöneticisinden görebilirsiniz. (COM3) gibi.


SP Flash Tool ile Boot Dosyası Elde Etme (MediaTek)
MediaTek işlemcili cihazınız varsa SP FLash Tool kullanabilirsiniz.

Linux ve Windows alternative bulunuyor.

Cihazı kapatıp program ve driverleri kurduktan sonra SP Flash Tool’u açalım

İşlemcinize göre scatter dosyasını seçip ReadBack menüsüne girelim.

Ardından ADD butonuna basalım ve start - end hex değerlerini scatter dosyası içinden bakarak yazalım. Ardından ReadBack tuşuna basalım ve cihazı bağlayalım.

İşlem tamamlandı ise Ayrıştırma bölümüne geçebilirsiniz.
 

Zenlty

Aktif Üye
VIP Üye
Katılım
23 Haz 2018
Mesajlar
1,086
Tepkime puanı
5,539
Puanları
113
Yaş
19
Konum
Fethiye
Çevrimdışı
Ayrıştırma

Ayrıştırma için öncelikle bir klasör açalım. Ardından Android Image Kitchen indirelim.
Mobile - Linux - Windows alternative bulunuyor.
Bu anlatımda Linux kullanacağım.
Aşağıdaki linklerden aracı indirelim ardından elde ettiğimiz boot.img dosyasını içine atalım.
Windows kullanıcıları unpackimg.bat dosyasına çift tıklayarak ayrıştırılabilir.
Linux kullanıcıları ise :
Boot.img dosyasını kopyaladıktan sonra aşağıdaki kodu verdikten sonra ayrıştırılabilirler.
$ sudo ./unpackimg.sh



Bundan sonrasında Linux , Windows fark etmeksizin kerneli elde etmek için split_img klasörüne girelim.

Görüldüğü gibi zImage diğer adıyla kernel dosyasını elde ettik.
İşlem tamamlandı ise DTB Ayıklamaya geçelim.
Bundan sonrasında sadece Linux kullanmak zorundasınız !

DTB Ayıklama
Bunun için yeni bir klasör açalım. Adını dtb koyalım. $ cd dtb/
Komutu ile klasör içine girip aşağıdaki komutu vererek gerekli araçları indirelim.
$ git clone https://github.com/dianlujitao/split-appended-dtb
Araçların indirilmesinin tamamlanmasını bekleyelim.
Ardından terminali izinleri ayarlayalım.
$ sudo chmod a+x split-appended-dtb
Varsa Linux kullanıcı şifrenizi girdikten sonra devam edelim.
Aldığımız kernel dosyasının adını değiştirip zImage koyalım ve klasörün içine atalım.
$ ./split-appended-dtb zImage
Komutunu vererek DTB Ayrıştırmasını yapalım

İşlem tamamlandıysa defconfig ayıklamaya geçelim.

DEFCONFIG Ayıklama
Bunun için gerekli aracın indirilmesini sağlayalım.
Aynı klasör içinde terminalden aşağıdaki kodu yazalım.
$ wget https://github.com/torvalds/linux/raw/master/scripts/extract-ikconfig
$ chmod a+x extract-ikconfig
Yazarak izinleri alalım.
$ ./extract-ikconfig zImage > defconfig
Yazarak defconfig’i elde edelim.



Boot Image elde etme , Ayrıştırma , DTB ve DEFCONFIG ayıklama bu şekildedir.
 

Zenlty

Aktif Üye
VIP Üye
Katılım
23 Haz 2018
Mesajlar
1,086
Tepkime puanı
5,539
Puanları
113
Yaş
19
Konum
Fethiye
Çevrimdışı
 

Ekli dosyalar

Sdt01

Üye
Üye
Katılım
2 Eki 2019
Mesajlar
109
Tepkime puanı
42
Puanları
28
Çevrimdışı
Dtb dts nedir hocam yani dtb yi dts ye çevirmek ne anlama geliyor
 
Üst Alt