Android uygulamaları, bootloader'ı tıklayın. DTB görüntüsünün konumu (ve DTB resim parametreleri) Android sürümleri arasında farklılık gösterir.
Android 11'de, Genel Kernel kullanan cihazlar Resim (GKI) tedarikçi firma başlatmasını destekleme bölüm, Bu, başlatma bölümü. DTB görüntüsü, satıcıya özel veriler içerdiğinden bir parçası olacak. DTB resim parametrelerini belirtmek için bkz. Tedarikçi firma başlatma başlık ekleyin.
Android 10'da cihazlar DTB resmini önyükleme bölümü. DTB resim parametrelerini belirtmek için bkz. DTB'yi ekleme görüntüsüne ekleyin.
Android 9 ve önceki sürümlerde DTB görüntüsü çekirdeği oluşturmak için kendi bölmesine veya
image.gz
çekirdeğine eklenmelidir + DTB görüntüsü (daha sonraboot.img
oluşturmak içinmkbootimg
öğesine iletilir).
DTB resim biçimi
Android 10 ve sonraki sürümlerde DTB görüntüsünde şu biçimlerdedir:
DT blob'ları art arda birleştirildi. Bootloader,
totalsize
alanını kullanarak ilgili blob'u okuyup ayrıştırabilirsiniz.DTB/DTBO bölümleri. Bootloader, 2024'te başlayan doğru DT blobunu incelemek için
dt_table_entry
struct (id
,rev
vecustom
alanları) görebilirsiniz. Ayrıntılar için bkz. DTB/DTBO Bölümler.
DTB görüntüsünü başlatma görüntüsüne ekle
Android 10 çalıştıran cihazlar DTB resmini
görüntüsü oluşturabilirsiniz. Bu, Android'in e-postaya eklenen komut dosyalarını destekleme ihtiyacını
DTB görüntüsünü çekirdekte image.gz
olarak ayarlar ve Tedarikçi Firma Testi'nin kullanılmasını sağlar
DTB'yi doğrulamak (ve standartlaştırmak) için Suite (VTS) testi
yerleşim.
Ayrıca, A/B olmayan cihazlar için DTB'nin kurtarma görüntüsü almasanız bile, olası sorunları önlemek için ayrı bir bölüm yerine OTA'ları kesintiye uğrattı. OTA sırasında DTB bölümlendirmesi yapıldıktan sonra güncellendiğinde (ancak tam güncelleme tamamlanmadan önce) cihaz, kurtarma modunu uygulayarak OTA'yı tamamlayın; ancak DTB bölümü güncellendikten sonra, kurtarma görüntüsüyle (kurtarma işlemini gerçekleştirmiş olan) (henüz güncellenmemiştir). DTB görüntüsü, başlatma görüntüsü biçiminin bir parçası olarak sunuluyor. kurtarma görüntüsünü kendi kendine yeterli hale getirerek (yani (başka bir bölüme bağlı değildir).
Başlatma görüntüsü yapısı
Android 10 yüklü cihazlarda DTB resmi bulunabilir aşağıdaki önyükleme görüntüsü yapısını kullanın.
Başlatma görüntüsü bölümü | Sayfa sayısı |
---|---|
Başlatma üstbilgisi (1 sayfa) | 1 |
Çekirdek (l sayfa) | l = (kernel_size + page_size -
1) / page_size |
Ramdisk (m sayfa) | e = (ramdisk_size + page_size -
1) / page_size |
İkinci aşama bootloader (n sayfa) | n = (second_size + page_size -
1) / page_size |
Kurtarma DTBO'su (o sayfa) | i = (recovery_dtbo_size + page_size -
1) / page_size |
DTB (p sayfaları) | k = (dtb_size + page_size -
1) / page_size |
DTB görüntü yolu
Android 10 çalıştıran cihazlarda
DTB'nin yolunu belirtmek için mkbootimg.py
aracını ve aşağıdaki bağımsız değişkenleri kullanın
görüntüsüdür.
Bağımsız değişken | Açıklama |
---|---|
dtb |
Başlatma/kurtarma görüntülerine dahil edilecek DTB görüntüsünün yolu. |
dtb_offset |
base bağımsız değişkenine eklendiğinde fiziksel yükü sağlar
adresine gidin. Örneğin, base
bağımsız değişkeni 0x10000000 ve dtb_offset bağımsız değişkeni
0x01000000 , başlatma görüntüsündeki dtb_addr_field
başlık 0x11000000 olarak doldurulur. |
Aşağıdakini belirtmek için pano yapılandırması değişkeni BOARD_PREBUILT_DTBIMAGE_DIR
kullanılmalıdır
çok kolaylaşır. *.dtb
uzantısına sahip birden fazla dosya
BOARD_PREBUILT_DTBIMAGE_DIR
dizininde, Android derleme sisteminde bulunuyor.
önyükleme görüntüsünde kullanılan son DTB görüntüsünü oluşturmak için dosyaları birleştirir
çok önemli.
dtb
bağımsız değişkenini mkbootimg.py
hedefine
BOARD_PREBUILT_DTBIMAGE_DIR
tarafından belirtilen dizin, pano yapılandırması değişkeni
BOARD_INCLUDE_DTB_IN_BOOTIMG
, true
olarak ayarlanmalıdır. Örnek:
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
dtb_offset
bağımsız değişkenini BOARD_MKBOOTIMG_ARGS
panosuna ekleyebilirsiniz
yapılandırma değişkenini diğer ofsetler ve başlık sürümüyle birlikte kullanabilirsiniz. Örnek:
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --dtb_offset $(BOARD_DTB_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) --header_version $(BOARD_BOOTIMG_HEADER_VERSION)
Bootloader desteği
VTS'nin Android çalıştıran cihazlarda başarılı bir şekilde çalışması için
10'da, bootloader güncellenmiş başlatma görüntüsünü desteklemelidir
ve şunu belirtmek için androidboot.dtb_idx
çekirdek komut satırı parametresini
seçilen cihaz ağacının (DT) dizini. Yalnızca bir (1)
. Örneğin, androidboot.dtb_idx=N
parametresi N
değerini
Bootloader tarafından
Başlatma görüntüsünde DTB'ler var.