Esta página descreve como desenvolver kernels Android em dispositivos Cuttlefish.
Manifestos do kernel com suporte
O Cuttlefish oferece suporte aos seguintes manifestos do kernel em versões principais e AOSP GSI.
- Em
aosp-main
common-android-mainline
common-android16-6.12
common-android15-6.6
common-android14-6.1
common-android14-5.15
- Em
aosp-android13-gsi
common-android13-5.15
common-android13-5.10
- Em
aosp-android12-gsi
common-android12-5.10
common-android12-5.4
common-android-4.19-stable
- Em
aosp-android11-gsi
common-android11-5.4
common-android-4.19-stable
common-android-4.14-stable
Confira a seguir as origens para desenvolvimento de kernel em dispositivos Cuttlefish.
kernel/common-android-mainline
kernel/common-android16-6.12
kernel/common-android15-6.6
kernel/common-android14-6.1
kernel/common-android14-5.15
kernel/common-android13-5.15
kernel/common-android13-5.10
Desenvolver kernels do Android
Para desenvolver kernels em dispositivos Cuttlefish, siga estas etapas:
Clone o manifesto do repositório do kernel apropriado para o seu dispositivo Cuttlefish e faça as mudanças necessárias.
mkdir common-android-mainline
cd common-android-mainline
repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
repo sync -c -j$(nproc) -q
Crie o kernel e o ramdisk. Para mais informações, consulte Como criar os módulos de fornecedores para o dispositivo virtual.
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist
Se estiver usando manifestos de kernel
common-android-4.19-stable
,common-android-4.14-stable
oucommon-android11-5.4
, execute:BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.sh
Em vez de criar localmente, para evitar o download da origem configurando um ambiente de desenvolvimento do kernel, você pode baixar os artefatos relevantes em ci.android.com.
Inicie o kernel e o ramdisk com o Cuttlefish.
cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.img
Se você estiver iniciando um kernel não GKI (na versão 4.19 ou anterior), omita o argumento
-initramfs_path
.Se estiver iniciando o kernel em uma versão aarch64 do Cuttlefish, use a configuração do build
aarch64
e o artefatoImage
em vez debzImage
.cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img