Esta sección se aplica a los kernels que no están habilitados para la compilación con Repo. En concreto, esta tabla detalla el nombre y las ubicaciones de los códigos fuente y los objetos binarios del kernel para realizar la compilación de forma manual.
Dispositivo | Ubicación del binario en el árbol del AOSP | Ubicación del código fuente | Configuración de compilación |
---|---|---|---|
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 |
Cómo descargar códigos fuente
Descarga el código fuente del kernel que deseas compilar usando el comando git clone
adecuado. Por ejemplo, el siguiente comando clona el kernel hikey
, que se usa para las placas de referencia de HiKey:
git clone https://android.googlesource.com/kernel/hikey-linaro
Puedes encontrar una lista completa de proyectos de kernel en el directorio kernel. A continuación, se muestran algunos de los kernels que se usan con más frecuencia y sus respectivos comandos git clone
.
El proyecto exynos
tiene los códigos fuente del kernel para Nexus 10, y se puede usar como punto de partida para trabajar con los chipsets de Samsung Exynos.
git clone https://android.googlesource.com/kernel/exynos
El proyecto goldfish
contiene los códigos fuente del kernel para las plataformas emuladas.
git clone https://android.googlesource.com/kernel/goldfish
El proyecto hikey-linaro
se utiliza para las placas de referencia de HiKey, y se puede usar como punto de partida para trabajar con los chipsets de HiSilicon 620.
git clone https://android.googlesource.com/kernel/hikey-linaro
El proyecto msm
tiene los códigos fuente de ADP1, ADP2, Nexus One, Nexus 4, Nexus 5, Nexus 6, Nexus 5X, Nexus 6P, Nexus 7 (2013), Pixel y Pixel XL, y se puede utilizar como punto de partida para trabajar con los chipsets de Qualcomm MSM.
git clone https://android.googlesource.com/kernel/msm
El proyecto omap
se utiliza para PandaBoard y Galaxy Nexus, y se puede usar como punto de partida para trabajar con los chipsets de TI OMAP.
git clone https://android.googlesource.com/kernel/omap
El proyecto samsung
se utiliza para Nexus S y se puede usar como punto de partida para trabajar con los chipsets de Samsung Hummingbird.
git clone https://android.googlesource.com/kernel/samsung
El proyecto tegra
es para Xoom, Nexus 7 (2012) y Nexus 9, y se puede usar como punto de partida para trabajar con los chipsets de NVIDIA Tegra.
git clone https://android.googlesource.com/kernel/tegra
El proyecto x86_64
tiene los códigos fuente del kernel para Nexus Player, y se puede usar como punto de partida para trabajar con los chipsets de Intel x86_64.
git clone https://android.googlesource.com/kernel/x86_64
Cómo compilar el kernel
Si no planeas compilar la rama predeterminada (por ejemplo, master
), debes verificar la confirmación deseada antes de compilarla. Consulta Cómo identificar versiones de kernel para saber cómo identificar la versión de kernel de un binario de kernel precompilado. Ya está todo listo para compilar el kernel. Los siguientes comandos de compilación usan el kernel hikey
:
cd hikey-linaro
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
make hikey_defconfig
make
Para compilar un kernel diferente, reemplaza hikey-linaro
con el nombre del kernel que deseas compilar y hikey_defconfig
con el nombre del archivo defconfig correspondiente.
La imagen se envía al directorio arch/arm64/boot/
; el objeto binario del kernel se envía al archivo arch/arm64/boot/dts/hisilicon/hi6220-hikey.dtb
. Sigue las instrucciones de la sección Cómo ejecutar el kernel para obtener información sobre cómo incorporar el kernel recién compilado a la imagen del AOSP.