Bu sayfada, GBL ikilisinin nasıl dağıtılacağı açıklanmaktadır.
Başlatma donanım yazılımı gereksinimleri
GBL'yi kullanmak için önyükleme donanım yazılımının aşağıdaki koşulları karşılaması gerekir:
UEFI uyumluluğu. Donanım yazılımı, gerekli UEFI protokollerini uygulamalı ve kullanmalıdır. Donanım yazılımı, tanımlanmış UEFI protokollerini kullanan tedarikçiye özel uzantılara da izin vermelidir.
Güvenlik. Donanım yazılımı, yalnızca kimliği doğrulanmış resimlerin yüklenmesini sağlayarak Android Doğrulanmış Başlatma'nın (AVB) tüm yönlerini uygulamalıdır.
Başlatma modları. İkili program, normal önyükleme, kurtarma önyüklemesi ve hızlı önyükleme gibi çeşitli önyükleme modlarını işleyebilmelidir.
Dinamik bölümleme. Önyükleme donanım yazılımı, doğru A/B önyükleme yuvasının okunmasını desteklemek ve super'deki dinamik bölümlerle ve userdata ile uyumlu olmak için yuva seçim mantığını uygulamalıdır.
İşletim sistemi yapılandırması. Donanım yazılımı, cihazı başlatmak için gereken OEM özelleştirmeleriyle çekirdek komut satırını, cihaz ağacını (DTB) ve bootconfig dosyasını değiştirebilmelidir.
Korumalı sanal makine yükleniyor. İkili program, korumalı sanal makinelerin bulunduğu durumlarda Android çekirdeğinden önce önceden doğrulanmış korumalı sanal makine donanım yazılımını doğru şekilde yüklemelidir. Daha fazla bilgi için Microdroid açılış sırasına bakın.
Bellek yönetimi. Önyükleme donanım yazılımı, UEFI bellek ayırma API'sini desteklemelidir.
Uyumluluk ve geriye dönük uyumluluk. Donanım yazılımı, farklı tedarikçi ve SOC'lere sahip cihazlarda çalışmalıdır ve ilgili Android sürümüyle geriye dönük uyumluluğu sürdürmelidir.
Açılış donanım yazılımı desteği
Önceki bölümdeki şartları desteklemek için gerekli değişikliklerle birlikte aşağıdaki UEFI donanım yazılımı uygulamaları GBF ile çalışır:
- EDK2 (Tianocore). EDK2, popüler bir açık kaynak UEFI uygulamasıdır. EDK2 tabanlı önyükleme yükleyiciler için GBL desteği gerekir. UEFI desteği zaten mevcuttur.
- U-Boot. GBL kullanımı için UEFI uyumluluğu kazanan, esnek ve yaygın olarak kullanılan açık kaynaklı bir önyükleme programı projesi.
- LittleKernel (LK). Bazı tedarikçiler tarafından kullanılan açık kaynaklı bir önyükleme yükleyici.
GBL'yi çalıştırma
Çalıştırmak için önceden oluşturulmuş bir GBL ikili dosyası edinebilir veya kendi ikili dosyanızı oluşturup çalıştırabilirsiniz.
GBL ikilisini edinme ve çalıştırma
GBL, tek bir EFI uygulama ikili dosyası olarak dağıtılır. Bu ikili dosyayı, Android'in standart güncelleme mekanizmasını kullanarak cihazın temel donanım yazılımından bağımsız olarak güncelleyebilirsiniz.
Android 16'dan itibaren ARM-64 yonga setine dayalı bir cihaz gönderiyorsanız GBL'nin Google imzalı en son sürümünü dağıtmanızı ve önyükleme zincirinize entegre etmenizi önemle tavsiye ederiz.
GBL'yi derleyip çalıştırma
GBL'yi derleyip çalıştırmak için:
Depo aracının ve Bazel bootstrap'ın yüklü olduğunu doğrulayın:
sudo apt install repo bazel-bootstrap
uefi-gbl-mainline
manifest dosyasını kullanarak mevcut dizininizi kaynak kontrolü için başlatın:repo init -u https://android.googlesource.com/kernel/manifest -b uefi-gbl-mainline repo sync -j16
EFI uygulamasını derleyin:
./tools/bazel run //bootable/libbootloader:gbl_efi_dist --extra_toolchains=@gbl//toolchain:all
EFI uygulamasını Cuttlefish'te çalıştırın:
cvd start --android_efi_loader=path_to_the_EFI_app ...
Bu
cvd start
komutu, Android'i doğrudan başlatmak yerine Android'i başlatmak için EFI uygulamasını kullanır.
Hata bildirme ve önyükleme sistemi ekibiyle iletişime geçme
GBL ile ilgili bir hatayı bildirmek için Buganizer'daki Android Genel Önyükleyici bileşenine gidin.
Sorularınız için GBL Ekibi ile iletişime geçin. android-gbl@google.com
adresine e-posta gönderin.