Kurtarma görüntüleri

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 ve dtbo 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ında mkbootimg aracının recovery_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 sistemi recovery_acpiomkbootimg 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.