A/B olmayan cihazlarda kurtarma görüntüsü, cihaz ağacı blob'u (DTB) veya Gelişmiş Yapılandırma ve Güç Arayüzü (ACPI) yer paylaşımlı resim. Böyle olduğunda önyüklenirse bootloader, gösterilen yer paylaşımlı görüntüyü kurtarma görüntüsüyle uyumlu. A/B'yi (kusursuz) destekleyen cihazlar güncellemelerin kurtarma işlemini önyükleme olarak değil, ayrı kurtarma bölümü (ayrıntılar için bkz. A/B'yi Uygulama Güncellemeler) tıklayın.
Başlatma/kurtarma işleminin bir parçası olarak kurtarma DTBO/ACPIO ekleme seçenekleri resim farkı var.
Sürüm | Şemayı güncelle | GKI uygunluğu | Başlatma üst bilgisi sürümü (başlatılan cihazlar) | Başlatma üstbilgisi sürümü (cihazlar yeni sürüme geçiriliyor) | Özel bir kurtarma görüntüsü gerekli |
---|---|---|---|---|---|
11 | A/B, Sanal A/B |
Evet | 3* | Yok | Hayır |
A/B, Sanal A/B |
Hayır | 2, 3 | 0, 1, 2, 3 | Hayır | |
A/B olmayan | Evet | 3 | Yok | Evet | |
A/B olmayan | Hayır | 2, 3 | 0, 1, 2, 3 | Evet | |
10 (Ç) | A/B | Yok | 2 | 0, 1, 2 | Hayır |
A/B olmayan | Yok | 2 | 0, 1, 2 | Evet | |
9 (K) | A/B | Yok | 1 | 0, 1 | Hayır |
A/B olmayan | Yok | 1 | 0, 1 | Evet | |
8 (D) | A/B | Yok | Yok (0 olarak kabul edilir) | Yok (0 olarak kabul edilir) | Hayır |
A/B olmayan | Yok | Yok (0 olarak kabul edilir) | Yok (0 olarak kabul edilir) | Evet |
* Android çalıştıran A/B cihazları 11 veya daha yüksek bir sürüm kullanıyorsanız ve Genel Çekirdek Görüntüyü (GKI) birincil başlangıç üst bilgisi sürümü 3 olacak Tedarikçi firma başlatma düğmesiyle uyumlu" bölüm.
Önemli noktalar:
A/B güncellemeleri iki grup kullandığından A/B cihazlarının bir kurtarma görüntüsü belirtmesi gerekmez (
boot
vedtbo
dahil) devam edebilir ve Bu sayede kurtarma görüntüsü alma ihtiyacını ortadan kaldırabilirsiniz. A/B cihazları kullanmaya devam edebilirsiniz.Android 11 veya sonraki sürümlerin yüklü olduğu, A/B olmayan cihazlar ve 3 başlatma üstbilgisi sürümü kullanıldığında, açıkça bir açılış üstbilgisi sürümü 2 için ayrı ayrı ekleyebilirsiniz. Örnek:
BOARD_RECOVERY_MKBOOTIMG_ARGS := --header_version 2
Cihaz ağaçlarını desteklemeyen mimariler için kurtarma görüntüsü DTBO resmi yerine ACPIO resmi ekleyin.
OTA hataları ve kurtarma görüntüleri hakkında
A/B olmayan cihazlarda kablosuz (OTA) hataları önlemek için kurtarma görüntüsü kendine yeterli ve diğer resimlerden bağımsız olmalıdır. OTA güncellemesi sırasında, yer paylaşımlı resim güncellendikten sonra (ancak güncellemenin tam güncelleme tamamlandığında) oturum açtığınızda OTA güncellemesini tamamlayın. Ancak, yer paylaşımlı bölüm zaten güncellendiğinde, kurtarma görüntüsüyle ( güncellendi).
sırasında kurtarma işleminin DTBO/ACPIO bölümüne bağlı olmasını önlemek için Android 9 veya sonraki sürümleri çalıştıran A/B olmayan cihazlarda güncelleme yer paylaşımından bilgiler içeren bir kurtarma DTBO/ACPIO görüntüsü belirtebilir görüntüsü biçiminde ayrı bir bölüm olarak (bir başlatma üstbilgisi 1 veya 2 sürümü) kullandığınızdan emin olun.
Başlatma görüntüsü değişiklikleri
Kurtarma görüntüsünün, A/B olmayan öğelerde kurtarma DTBO veya ACPIO'yu içermesine izin vermek için Android 9 veya sonraki sürümleri çalıştıran cihazlar, başlatma işlemini güncelleyin aşağıdaki gibi oluşturabilirsiniz.
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 veya ACPIO (o sayfa) | i = (recovery_[dtbo|acpio]_size + page_size -
1) / page_size |
Başlatma görüntüsünü belirtmeye yönelik mkbootimg
aracı bağımsız değişkenleriyle ilgili ayrıntılar için
üst bilgi sürümü ve bindirme görüntüsü yolları için Önyükleme Resmi Üstbilgisi
Sürüm oluşturma.
DTBO'yu uygulayın
9 veya sonraki bir sürümü çalıştıran A/B olmayan cihazlar
recovery_dtbo
bölümüne gidin. recovery_dtbo
dahil etmek için
BoardConfig.mk
cihazındaki recovery.img
uygulamasındaki resim:
BOARD_INCLUDE_RECOVERY_DTBO
yapılandırmasınıtrue
olarak ayarlayın:BOARD_INCLUDE_RECOVERY_DTBO := true
Başlatma görüntüsü başlığını belirtmek için
BOARD_MKBOOTIMG_ARGS
değişkenini genişletin sürüm:BOARD_MKBOOTIMG_ARGS := --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) --header_version $(BOARD_BOOTIMG_HEADER_VERSION)
BOARD_PREBUILT_DTBOIMAGE
değişkeninin DTBO resmi. Android derleme sistemi Oluşturma işlemi sırasındamkbootimg
aracınınrecovery_dtbo
bağımsız değişkeni kurtarma görüntüsü
BOARD_INCLUDE_RECOVERY_DTBO
, BOARD_MKBOOTIMG_ARGS
ve
BOARD_PREBUILT_DTBOIMAGE
değişken doğru şekilde ayarlandı, Android derleme sistemi
içindeki BOARD_PREBUILT_DTBOIMAGE
değişkeni tarafından belirtilen DTBO'yu
recovery.img
.
ACPIO'yu uygulama
Android 9 veya sonraki sürümleri çalıştıran A/B olmayan cihazlar kullanabilir
bir ACPIO yer paylaşımlı resmi (bir DTBO resmi yerine) oluşturur ve
recovery_acpio
bölümü (recovery_dtbo
bölümü yerine)
kurtarma görüntüsü recovery_acpio
resmini recovery.img
içine eklemek için
BoardConfig.mk
cihazı:
BOARD_INCLUDE_RECOVERY_ACPIO
yapılandırmasınıtrue
olarak ayarlayın:BOARD_INCLUDE_RECOVERY_ACPIO := true
Başlatma görüntüsü başlığını belirtmek için
BOARD_MKBOOTIMG_ARGS
değişkenini genişletin sürümünü değil. Kurtarmayı desteklemek için değişkenin değeri 1'den büyük veya 1'e eşit olmalıdır ACPIO.BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION)
BOARD_RECOVERY_ACPIO
değişkeninin ACPIO resmi. Android derleme sistemirecovery_acpio
bağımsız değişkenimkbootimg
kurtarma görüntüsü
BOARD_INCLUDE_RECOVERY_ACPIO
, BOARD_MKBOOTIMG_ARGS
ve
BOARD_RECOVERY_ACPIO
değişken doğru şekilde ayarlandı, Android derleme sistemi
içindeki BOARD_RECOVERY_ACPIO
değişkeni tarafından belirtilen ACPIO
recovery.img
.