GKI 1.0: тестирование совместимости

На этой странице описывается, как получить загрузочные образы с артефактами сборки ядра для тестирования совместимости.

Получить загрузочные образы

В AOSP вы можете получить готовые загрузочные образы с сайта ci.android.com . Загрузочные образы содержатся в aosp_arm64-img-*.zip в целевом объекте сборки aosp_arm64 следующим образом:

Как подписанные, так и неподписанные загрузочные образы поставляются со следующими параметрами сжатия ядра:

  • boot-5.4.img — несжатое ядро.
  • boot-5.4-gz — ядро, сжатое gzip.
  • boot-5.4-lz4 — сжатое ядро ​​lz4.

В целях разработки вы можете использовать готовые сборки ядра и загрузочные образы GKI, которые экспортируют все символы в ядре (символы не untrimmed ). Необрезанные предварительные сборки ядра генерируются в цели kernel_debug_aarch64 для конкретной сборки ядра на ci.android.com . Необрезанные загрузочные образы GKI генерируются в сборках userdebug вместе с обычными обрезанными загрузочными образами GKI и имеют имена файлов, оканчивающиеся на -allsyms.img .

Получить артефакты сборки ядра

При отладке проблем в файле GKI boot.img полезно также иметь в этом файле артефакты сборки, связанные с ядром. Например, вы можете использовать неразрезанный vmlinux для отладки и манифест для локального воспроизведения сборки ядра GKI. Чтобы получить артефакты сборки:

  1. Найдите номер сборки предварительно собранного ядра, которое использовалось для создания GKI boot.img . Номер сборки появляется в конце версии ядра, ему предшествуют буквы ab . В следующем примере номер сборки выделен жирным шрифтом:

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab 6638796

    Вы также можете определить номер сборки ядра, используя grep для поиска загрузочного образа, содержащего несжатое ядро:

    grep -a "Linux version " boot-5.4.img
    
  2. Откройте предварительно собранную сборку ядра, используя номер сборки по следующему URL-адресу: https://ci.android.com/builds/submitted/ <number> /kernel_aarch64/latest

    Например, используя номер сборки из шага 1, URL-адрес выглядит следующим образом: https://ci.android.com/builds/submitted/ 6638796 /kernel_aarch64/latest

    При использовании необрезанной сборки замените kernel_aarch64 в ссылке на kernel_debug_aarch64 .