Esta página descreve como desenvolver kernels Android em dispositivos Cuttlefish.
Manifestos do kernel suportados
Cuttlefish suporta os seguintes manifestos de kernel nas versões principais e AOSP GSI.
- No
aosp-main
-
common-android14-6.1
-
common-android14-5.15
-
common-android-mainline
-
- 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
-
A seguir estão as fontes do kernel para desenvolvimento do kernel em dispositivos Cuttlefish.
-
kernel/common-android14-6.1
-
kernel/common-android14-5.15
-
kernel/common-android13-5.15
-
kernel/common-android13-5.10
-
kernel/common-android-mainline
Desenvolva kernels 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 alterações.
mkdir common-android14-6.1
cd common-android14-6.1
repo init -u https://android.googlesource.com/kernel/manifest -b common-android14-6.1
repo sync -c -j$(nproc) -q
Construa o kernel e o ramdisk. Para obter mais informações, consulte Construindo os módulos do fornecedor 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 compilar localmente (para evitar o download do código-fonte do kernel, configurando um ambiente de desenvolvimento do kernel), você pode baixar os artefatos relevantes em ci.android.com.
Inicie o kernel e o ramdisk com Cuttlefish.
cvd start \ -kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/bzImage \ -initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/initramfs.img
Se estiver iniciando um kernel não-GKI (qualquer coisa igual ou inferior a 4.19), omita o argumento
-initramfs_path
.Se você estiver iniciando o kernel em uma versão aarch64 do Cuttlefish, use a configuração de compilação
aarch64
e use o artefatoImage
em vez debzImage
.cvd start \ -kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-5.15/dist/Image \ -initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-5.15/dist/initramfs.img