Na tej stronie opisano kilka zadań, które mogą być konieczne do wykonania, jeśli konfigurujesz kompilację dla własnego urządzenia.
Utwórz niestandardową konfigurację pamięci flash
Instrukcje Fastboot są zdefiniowane w artefakcie o nazwie fastboot-info.txt
. Jeśli zbudujesz wiele obiektów docelowych, będziesz mieć wiele plików fastboot-info.txt
w katalogu $OUT_DIR . A $ANDROID_PRODUCT_OUT
wskazuje na najnowszy zbudowany cel. Ta strona zawiera listę zadań do wykonania przez fastboot i można je zregenerować za pomocą m fastboot_info
. Możesz wprowadzić niestandardową logikę flashowania, modyfikując plik fastboot-info.txt
.
Plik fastboot-info.txt
obsługuje następujące polecenia:
-
flash %s
: Miga daną partycję. Opcjonalne argumenty to--slot-other,
filename_path, and
--apply-vbmeta`. -
update-super
: Aktualizuje super partycję. -
if-wipe
: Warunkowo uruchamia inny komponent, jeśli określono czyszczenie. -
erase %s
: Kasuje daną partycję (można użyć tylko w połączeniu zif-wipe
-> np.if-wipe erase cache
).
Określ stan blokady lampy błyskowej
Jeśli tworzysz niestandardowego demona flashboot (flashbootd) dla urządzenia, musisz mieć możliwość uzyskania stanu blokady bootloadera i bootloadera. Funkcja getFlashLockState()
@SystemApi
przesyła stan programu ładującego, a systemowe API PersistentDataBlockManager.getFlashLockState()
zwraca stan blokady programu ładującego na zgodnych urządzeniach.
Wartość zwracana | Warunki |
---|---|
FLASH_LOCK_UNKNOWN | Zwracane tylko w przypadku urządzeń zaktualizowanych do wersji Android 7.x lub nowszej, które wcześniej nie obsługiwały zmian w programie ładującym wymaganych do uzyskania stanu blokady pamięci flash, jeśli obsługiwały funkcję blokowania/odblokowywania pamięci flash.
|
FLASH_LOCK_LOCKED | Zwracany przez dowolne urządzenie, które nie obsługuje migającego blokowania/odblokowywania (tzn. urządzenie jest zawsze zablokowane) lub dowolne urządzenie, które obsługuje migające blokowanie/odblokowywanie i jest w stanie zablokowanym. |
FLASH_LOCK_UNLOCKED | Zwrócone przez dowolne urządzenie obsługujące flashowanie blokady/odblokowania i będące w stanie odblokowanym. |
Producenci powinni przetestować wartości zwracane przez urządzenia z zablokowanymi i odblokowanymi programami ładującymi. Na przykład AOSP zawiera implementację referencyjną, która zwraca wartość opartą na właściwości rozruchowej ro.boot.flash.locked
. Przykładowy kod znajduje się w następujących katalogach:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java