- Katılım
- 23 Haz 2018
- Mesajlar
- 1,118
- Tepkime puanı
- 5,745
- Puanları
- 113
- Yaş
- 23
Çevrimdışı
Defconfig - DTB Çekme İşlemleri
29.04.2021
─
Eğitmen : Azat Barış MIZRAKLI
Gereksinimler
- Linux İşletim Sistemi ( Ubuntu 16.04 veya Mint önerilir)
- Android Image Kitchen
- Split Appended Dtb
- Ikconfig
- Boot Image veya zImage (Kernel)
- Android Debug Bridge (ADB) Aracı
- Gerektiği takdirde Windows İşletim Sistemi (7 üzeri önerilir)
- Gerektiği takdirde emmcdl , QSaharaServer , fh_loader
- Gerektiği takdirde MediaTek Smart Phone Flash Tool (1824 üzeri önerilir)
- Linux için Git
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
- 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.
- Buna alternatif olarak android debug bridge ile yedek alabilirsiniz.
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.