Como criar kernels manualmente

Esta seção se aplica a kernels que não estão ativados para criação com Repo. Esta tabela lista especificamente o nome e os locais dos binários e origens de kernel para criação manual:

Dispositivo Local do binário na árvore AOSP Local da origem Configuração da versão
easel N/A kernel/arm64 mnh_prod_defconfig
angler device/huawei/angler-kernel kernel/msm angler_defconfig
bullhead device/lge/bullhead-kernel kernel/msm bullhead_defconfig
shamu device/moto/shamu-kernel kernel/msm shamu_defconfig
fugu device/asus/fugu-kernel kernel/x86_64 fugu_defconfig
volantis device/htc/flounder-kernel kernel/tegra flounder_defconfig
hammerhead device/lge/hammerhead-kernel kernel/msm hammerhead_defconfig
flo device/asus/flo-kernel/kernel kernel/msm flo_defconfig
deb device/asus/flo-kernel/kernel kernel/msm flo_defconfig
manta device/samsung/manta/kernel kernel/exynos manta_defconfig
mako device/lge/mako-kernel/kernel kernel/msm mako_defconfig
grouper device/asus/grouper/kernel kernel/tegra tegra3_android_defconfig
tilapia device/asus/grouper/kernel kernel/tegra tegra3_android_defconfig
maguro device/samsung/tuna/kernel kernel/omap tuna_defconfig
toro device/samsung/tuna/kernel kernel/omap tuna_defconfig
panda device/ti/panda/kernel kernel/omap panda_defconfig
stingray device/moto/wingray/kernel kernel/tegra stingray_defconfig
wingray device/moto/wingray/kernel kernel/tegra stingray_defconfig
crespo device/samsung/crespo/kernel kernel/samsung herring_defconfig
crespo4g device/samsung/crespo/kernel kernel/samsung herring_defconfig

Como fazer o download das origens

Faça o download da origem do kernel que você quer criar usando o comando git clone apropriado. Por exemplo, o comando a seguir clona o kernel hikey, usado para as placas de referência HiKey:

git clone https://android.googlesource.com/kernel/hikey-linaro

Uma lista completa dos projetos do kernel pode ser encontrada no diretório kernel. Veja abaixo alguns dos kernels mais usados e os respectivos comandos git clone.

O projeto exynos tem as origens do kernel para Nexus 10 e pode ser usado como um ponto de partida para trabalhar com chipsets do Samsung Exynos.

git clone https://android.googlesource.com/kernel/exynos

O projeto goldfish contém as origens do kernel para as plataformas emuladas.

git clone https://android.googlesource.com/kernel/goldfish

O projeto hikey-linaro é usado para placas de referência HiKey e pode ser usado como ponto de partida para trabalhar com chipsets HiSilicon 620.

git clone https://android.googlesource.com/kernel/hikey-linaro

O projeto msm tem as origens para ADP1, ADP2, Nexus One, Nexus 4, Nexus 5, Nexus 6, Nexus 5X, Nexus 6P, Nexus 7 (2013), Pixel e Pixel XL e pode ser usado como ponto de partida para trabalhar com chipsets Qualcomm MSM.

git clone https://android.googlesource.com/kernel/msm

O projeto omap é usado para o PandaBoard e o Galaxy Nexus e pode ser usado como ponto de partida para trabalhar com chipsets TI OMAP.

git clone https://android.googlesource.com/kernel/omap

O projeto samsung é usado para o Nexus S e pode ser usado como ponto de partida para trabalhar com chipsets Samsung Hummingbird.

git clone https://android.googlesource.com/kernel/samsung

O projeto tegra destina-se ao Xoom, Nexus 7 (2012), Nexus 9 e pode ser usado como ponto de partida para trabalhar com chipsets NVIDIA Tegra.

git clone https://android.googlesource.com/kernel/tegra

O projeto x86_64 tem as origens de kernel para o Nexus Player e pode ser usado como um ponto de partida para trabalhar com chipsets Intel x86_64.

git clone https://android.googlesource.com/kernel/x86_64

Como criar o kernel

Se você não pretende criar a ramificação padrão (por exemplo, master), precisa receber a confirmação desejada antes da criação. Consulte Como identificar as versões do kernel para ver como identificar a versão do kernel de um binário de kernel pré-criado. Agora você já pode criar o kernel. Os comandos de compilação a seguir usam o kernel do hikey:

cd hikey-linaro
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
make hikey_defconfig
make

Para criar um kernel diferente, basta substituir hikey-linaro pelo nome do kernel que você quer criar, e hikey_defconfig pelo nome do arquivo defconfig correspondente.

A imagem vai para o diretório arch/arm64/boot/, e os binários do kernel vão para o arquivo arch/arm64/boot/dts/hisilicon/hi6220-hikey.dtb. Siga as instruções em Como executar o kernel para incorporar o kernel recém-criado à sua imagem AOSP.