Proces publikowania ogólnego obrazu jądra (GKI)

Na tej stronie opisujemy, jak GKI jest wprowadzana – co tydzień, co miesiąc i bez końca awaryjne uwolnienia pasma. Celem tego dokumentu jest przedstawienie OEM-om informacji o tym, gdzie można pobrać GKI, oraz procesu wprowadzania poprawek awaryjnych poza pasmem. OEM może też używać GKI programowanie mogą dowiedzieć się więcej o pomocy zespołu jądra Androida w optymalizacji jądro GKI dla swoich usług.

Częstotliwość udostępniania GKI

Usługa GKI jest udostępniana w cyklu miesięcznym po okresie blokady KMI.

Android 13, 14 i 15 GKI

Poniższa tabela ma zastosowanie tylko do: android13-5.10 android13-5.15, oraz android14-5.15. W tym ogłoszeniu znajdziesz daty wydania z września 2024 r.

Comiesięczne kompilacje z certyfikatem GKI Termin zameldowania Data gotowości do wstępnego wczytania GKI Potwierdzono?
Listopad 11 listopada 2024 r. 27 listopada 2024 r. Tak
Styczeń 17 stycznia 2025 r. 31 stycznia 2025 r. Tak
Luty 14 lutego 2025 r. 28 lutego 2025 r. Tak

Poniższa tabela ma zastosowanie tylko do: android14-6.1 oraz android15-6.6 W tym ogłoszeniu znajdziesz daty wydania z września 2024 r.

Comiesięczne kompilacje z certyfikatem GKI Termin zameldowania Data gotowości do wstępnego wczytania GKI Potwierdzono?
Październik 1 października 2024 r. 14 października 2024 r. Tak
Listopad 1 listopada 2024 roku 15 listopada 2024 r. Tak
Grudzień 2 grudnia 2024 r. 16 grudnia 2024 r. Tak
Styczeń 6 stycznia 2025 r. 22 stycznia 2025 r. Tak

Android 12 GKI

Od maja 2024 r. wersje GKI w systemie android12-5.10 będą udostępniane co kwartał opublikowana w połowie miesiąca. Poniższa tabela ma zastosowanie tylko do: android12-5.10

Comiesięczne kompilacje z certyfikatem GKI Termin zameldowania Data gotowości do wstępnego wczytania GKI Potwierdzono?
Lipiec 3 lipca 2023 r. 14 lipca 2023 r. Tak
Wrzesień 1 września 2023 r. 15 września 2023 r. Tak
Listopad 3 listopada 2023 r. 17 listopada 2023 r. Tak
Styczeń 5 stycznia 2024 r. 19 stycznia 2024 r. Tak
Marzec 4 marca 2024 r. 15 marca 2024 r. Tak
Maj 1 maja 2024 r. 17 maja 2024 r. Tak
Sierpień 1 sierpnia 2024 roku 16 sierpnia 2024 r. Tak
Listopad 1 listopada 2024 roku 15 listopada 2024 r. Tak
Luty 3 lutego 2025 r. 17 lutego 2025 r. Tak

Zgodność GKI dla producentów OEM

OEM może używać niedawno opublikowanego interfejsu GKI Androida. OEM może wprowadzić na rynek Kompilacje z certyfikatem GKI, o ile są zgodne z wymaganiami LTS Biuletyn o bezpieczeństwie Androida (ASB).

Cotygodniowe informacje o wersjach rozwojowych

Wersje są testowane przy użyciu Cuttlefish by spełniać minimalne wymagania jakościowe.

Pliki binarne GKI są dostępne do samoobsługi z Androida CI podczas scalania zmian. Kompilacje tygodniowe nie będą certyfikowane, ale można ich używać jako podstawy do tworzenia i testowania. Tygodniowych kompilacji nie można używać w przypadku na urządzeniach produkcyjnych dla użytkowników.

Certyfikowane treści co miesiąc

Comiesięczne wersje GKI zawierają przetestowany interfejs boot.img obejmujący wstawiono certyfikat potwierdzający, że pliki binarne zostały skompilowane na podstawie znanego źródła dla kodu odniesienia.

Co miesiąc wybierany jest kandydat do comiesięcznej wersji GKI (bez certyfikatu) po upływie ostatecznego terminu odprawy, czyli zazwyczaj drugi raz w tygodniu w danym miesiącu. Po wybraniu kandydata do publikacji co miesiąc nowy zmiany nie zostaną zaakceptowane w danym miesiącu. W trakcie zamkniętego okna okres, można rozwiązać tylko te błędy, które spowodowały niepowodzenie testu. Wersja kandydata do wydania przechodzi kontrolę jakości (jak opisano w sekcji kwalifikacji GKI), aby zapewnić pozytywne wyniki testów zgodności na kompilacji GSI+GKI z użyciem urządzenia referencyjnego i testów cuttlefish.

Harmonogram publikowania GKI Rysunek 1. Harmonogram premiery GKI

Proces odzyskiwania w sytuacjach awaryjnych

Respin oznacza proces ponownego łączenia, odbudowy, ponownego testowania recertyfikacja pliku binarnego po publicznej wersji jądra GKI. Możesz poprosić o odinstalowanie certyfikowanego pliku binarnego w przypadku dowolnej z tych wartości: okoliczności:

  • Aby zaktualizować listę symboli.
  • Aby zastosować poprawkę błędu, w tym błędów znalezionych podczas zatwierdzenia testu laboratoryjnego operatora.
  • Aby dodać link do strony dostawcy.
  • Aby zastosować poprawkę do istniejącej funkcji.
  • Aby zastosować poprawkę zabezpieczeń (po 6 miesiącach).

Poprawki zabezpieczeń są automatycznie scalane w gałęzi wersji do 6 miesięcy po premierze oddziału. Po upływie 6 miesięcy musisz zażądać odpowiedzi w celu zastosowania poprawek zabezpieczeń do gałęzi.

Wytyczne dotyczące żądania ponownego odpięcia

Zanim poprosisz o ponowne sprawdzenie, zapoznaj się z tymi wytycznymi:

  • Przypinki są dozwolone tylko w gałęziach wersji po początkowej aktualizacji publicznej miesięcznej kompilacji, który został uruchomiony.

  • Żądania Respin są akceptowane tylko dla danej gałęzi wersji dla maksymalnie 6 miesięcy od pierwotnej publikacji. Po 6 miesiącach gałęzie mogą być odprężone tylko w przypadku poprawek zabezpieczeń wymienionych w Biuletyn o bezpieczeństwie Androida.

  • Gdy wymagania LTS , która została opisana w biuletynie o bezpieczeństwie Androida (ASB). powoduje, że gałąź jest niezgodna, została wycofana. Żądania Respin wycofane gałęzie nie są akceptowane. data wycofania danego GKI. gałąź wersji jest uwzględniona w comiesięcznych informacjach o kompilacji GKI w Wersje. Aby umożliwić planowanie w przyszłości, wymagania dotyczące kanału LTS zostaną zaktualizowane w maju i listopadzie rocznie. Na przykład android12-5.10-2023-07 Po 1 maja 2024 r. gałąź (5.10.177) nie jest obsługiwana w przypadku odcinków android12-5.10-2023-07 gałąź (5.10.177) nie jest zgodna z wymaganiami LTS określonymi w standardzie ASB-2024-05.

  • Przypinki mają zastosowanie tylko w przypadku pilnych poprawek błędów, aktualizacji listy symboli lub aby zastosować poprawkę do naprawienia istniejącej funkcji.

  • Wszystkie poprawki trafiające do miesięcznej gałęzi wersji muszą już zostać scalone z który działa w GKI. Na przykład: jeśli poprawka jest wymagana dla odwrócenia elementu android12-5.10-2022-09, musi już zostać scalony z android12-5.10

  • Należy wybrać odpowiednie poprawki z głównego działu deweloperskiego GKI oraz przesłać poprawkę do comiesięcznej gałęzi wersji.

  • W prośbie o ponowne dostosowanie musisz nadać jej priorytet (pilność). Dzięki temu zespół GKI może sprawniej pomagać partnerom. W przypadku żądań krytycznych lub pilnych wyznacz priorytet P0. Dla P0 i P1 również należy uzasadnić tę potrzebę. W poniższej tabeli znajdziesz przypisywanie priorytetu błędów i czasu do rozwiązania (ESRT):

    Priorytet raport ESRT,
    P0 2 dni robocze
    P1S 5 dni roboczych
    P2 10 dni roboczych
    P3 15 dni roboczych
.
  • Musisz przesłać oddzielne żądanie odpowiedzi na każdą gałąź wersji. Na przykład, jeśli odwrotność jest potrzebna zarówno w przypadku android12-5.10-2022-08, jak i android12-5.10-2022-09, musisz utworzyć 2 żądania respin.

  • Po przesłaniu wersji i oznaczeniu prośby o ponowne przesłanie jako rozwiązanej nie należy ponownie otwierać prośby o ponowne przesłanie, aby dodać dodatkowe poziomy testów. Musisz przesłać nowe respin, jeśli istnieją dodatkowe poprawki, które wymagają scalania.

  • Do każdej rozważanej listy zmian dodaj następujące tagi.

    • Bug: identyfikator błędu należy dodać do komunikatu zatwierdzenia w przypadku każdej listy zmian.
    • Change-Id: musi być taki sam jak identyfikator zmiany zmiany gałęzi podstawowej.
  • Jeśli żądanie ponownego wygenerowania wymaga Twojej odpowiedzi i nie odpowiesz w ciągu 3 dni robocze, priorytet zostanie obniżony o jeden poziom (np. P0 został obniżony do P1). Jeśli nie odpowiesz w ciągu 2 tygodni, pojawi się błąd oznaczone jako Nie zostanie naprawione (nieaktualne).

Prześlij prośbę o respin

Poniższy diagram przedstawia proces odpinania. Proces rozpoczyna się, gdy Partner OEM (Ty) przesyła prośbę o respin.

Proces odzyskiwania w sytuacjach awaryjnych Rysunek 2. Proces odzyskiwania

Aby rozpocząć proces odpinania:

  1. Wypełnij formularz prośby o przyznanie GKI Respin i niezwłocznie skontaktuj się z technicznym menedżerem konta Google. Ten formularz powoduje wystąpienie błędu żądania odpięcia GKI. Błędy związane z prośbą o przywrócenie prośby są widoczne (osoba zgłaszająca prośbę), zespołem GKI oraz konkretnymi osobami dodanymi przez Ciebie do na liście DW błędu.
    • Jeśli masz już poprawkę, żądanie powinno wskazywać ją. możesz przesłać do AOSP, aby można było je sprawdzić. Jeśli poprawka nie jest poprawkę należy dołączyć do żądania w postaci pliku tekstowego.
    • Jeśli nie ma rozwiązania, prośba musi zawierać jak najwięcej jak najwięcej informacji, w tym numer wersji jądra i dzienniki, dzięki czemu Google może pomóc w debugowaniu.
  2. Zespół Google GKI sprawdza prośbę i zatwierdza ją lub przypisuje ją z powrotem do: W razie potrzeby
  3. Po uzgodnieniu poprawki zespół Google GKI sprawdzi kod (CR+2) . Okres weryfikacji rozpoczyna się przez ESRT. Zespół GKI łączy, tworzy, testuje regresję i certyfikuje zmiany.
  4. Plik binarny jest udostępniany ci.android.com Termin ESRT kończy się, a zespół Google GKI oznacza zgłoszenie jako poprawione i odwołania do kompilacji Respin. Sekcja ta jest również publikowana Strona z kompilacjami wersji ogólnego obrazu jądra (GKI)

Kwalifikacje do GKI

Typy kompilacji GKI Egzekwowanie jakości Notes
Co tydzień Testowanie mątwy
  • Rozruchowy
  • Podzbiór VTS
  • Podzbiór CTS
  • Brak certyfikatu. Tylko do testowania i wyświetlania urządzenia
    .
  • Nie można używać do uruchamiania urządzeń.
Miesięcznie (certyfikowane) Testowanie mątwy
  • Rozruchowy
  • VTS
  • wskaźnik CTS
. Referencyjne testowanie sprzętu
  • Rozruchowy
  • VTS
  • wskaźnik CTS
Respins (certyfikat) Testowanie mątwy
  • Rozruchowy
  • VTS
  • Podzbiór CTS
Testowanie urządzenia referencyjnego
  • Rozruchowy
  • VTS
  • Oparte na certyfikowanej kompilacji GKI.
  • Kompilacja otrzymuje certyfikację po uzyskaniu kwalifikacji.

Skąd można uzyskać artefakty kompilacji

Artefakty wszystkich wersji można pobrać z ci.android.com

Więcej informacji o CI, w tym o teście, w przypadku ciągłej integracji Androida. panelu.

Najczęstsze pytania

Poniżej znajdziesz odpowiedzi na najczęstsze pytania dotyczące procesu publikowania GKI.

Czy można utworzyć nowy plik binarny GKI na podstawie już opublikowanej wersji GKI?

Tak. Jest to tzw. odwrotność. Proces odpinania jest obsługiwany, o ile opublikowana kompilacja GKI (na której zażądano kodu odpowiedzi) jest zgodna z LTS podane w biuletynie o bezpieczeństwie Androida (ASB).

Czy można odtworzyć pliki binarne GKI?

Tak, oto przykład:

GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest

Aby odtworzyć przykład, pobierz manifest_$id.xml i wykonaj to polecenie polecenie:

repo init -u https://android.googlesource.com/kernel/manifest
mv manifest_7364300.xml .repo/manifests
repo init -m manifest_7364300.xml --depth=1
repo sync
# build the GKI images
# You may want to use LTO=thin to build faster for development
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
# (optional) build virtual platform modules
BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh

Kopię artefaktu GKI możesz pobrać z out/.../dist.

Czy plik binarny GKI (w tym poprawka awaryjnego spinania) został utworzony na podstawie najnowszej bazy kodu?

Nie. Kopie zapasowe zawierają tylko poprawki, które są dodawane do comiesięcznego certyfikatu przez wybrane jądra. Te odpowiedzi zawierają wszystkie błędy blokujące uruchomienie poprawki zgłoszone do danego momentu przez OEM przez wykorzystanie odpowiedniej podstawy co miesiąc. Poniższy przykład ilustruje przebieg tego typu scenariuszy.

  • OEM1 i OEM2 decydują się na użycie wersji binarnej GKI z listopada 2021 r.
  • OEM1 i OEM2 znajdują problemy, które wymagają poprawek do pomocy. Te łatki mogą być różne lub takie same.
  • Zmiany w odniesieniu do pliku binarnego z listopada 2021 roku zawierają blokowanie uruchamiania. poprawki zgłoszone przez OEM1 i OEM2 w oknie odpowiedzi, ale nic i innych.
  • Problemy wymienione w drugim punkcie są również uwzględnione w kolejnych GKI. co miesiąc.

W październiku wszystkie poprawki OEM zostały zgłoszone, ale dotyczy to też innych łatek OEM, ponieważ nie zostały one specjalnie przetestowane z naszymi produktami. Czy możemy dołączyć tylko naszą poprawkę?

To niemożliwe. „za OEM” nie jest skalowalna. Zamiast tego zespół GKI dokładnie sprawdza każdą zmianę wprowadzoną w wersji ponownego uruchomienia, a przed utworzeniem nowej kompilacji testuje ją na wszystkich dostępnych urządzeniach. Jeśli zespół GKI stwierdzi, że problem dotyczy konkretnego OEM, urządzenia lub modelu, może zadbać o to, aby kod dodany przez zmianę był wykonywany tylko na urządzeniu, modelu lub SKU, które są dotknięte problemem.

Główną zaletą ujednoliconych odpowiedzi jest to, że każde urządzenie korzystają z tych samych korzyści, zwłaszcza jeśli błędy są ogólne i odpowiadają wszystkim użytkownikom. Znaleziono podstawowe błędy jądra w testowaniu u operatorów jest przykładem tej koncepcji.

Czy w niektórych sytuacjach Google podaje konkretne informacje o poprawkach OEM i scenariuszach problemów, aby OEM mogli ocenić wpływ tych poprawek i ryzyko ich wdrożenia w swoich produktach?

Google nie doda zmiany do kompilacji opartej na odpowiedzi, dopóki problem nie zostanie zrozumiany. a nawet zebrał wszystkie szczegóły. Widać to w historii zmian (komunikat zatwierdzenia). Google nie ujawnia konkretnych urządzeń, ale OEM zawsze może znaleźć opis problemu i rozwiązanie problemu w historii zmian.