수동으로 커널 빌드

이 섹션은 Repo를 사용하여 빌드할 수 없는 커널에 적용됩니다. 특히 아래 표에는 수동으로 빌드해야 하는 커널 소스 및 바이너리의 이름과 위치가 나와 있습니다.

기기 AOSP 트리의 바이너리 위치 소스 위치 빌드 구성
easel 해당 없음 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

소스 다운로드

적절한 git clone 명령어를 사용하여 빌드하려는 커널의 소스를 다운로드하세요. 예를 들어, 다음 명령어는 HiKey 참조 보드에 사용되는 hikey 커널을 복제합니다.

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

커널 프로젝트의 전체 목록은 kernel 디렉터리에서 찾을 수 있습니다. 다음은 일반적으로 사용되는 커널 및 각각의 git clone 명령어입니다.

exynos 프로젝트는 Nexus 10용 커널 소스를 포함하고 있으며, 삼성 Exynos 칩셋 작업의 출발점으로 사용할 수 있습니다.

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

goldfish 프로젝트는 에뮬레이션된 플랫폼의 커널 소스를 포함합니다.

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

hikey-linaro 프로젝트는 HiKey 참조 보드에 사용되며, HiSilicon 620 칩셋 작업의 출발점으로 사용할 수 있습니다.

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

msm 프로젝트는 ADP1, ADP2, Nexus One, Nexus 4, Nexus 5, Nexus 6, Nexus 5X, Nexus 6P, Nexus 7(2013), Pixel 및 Pixel XL의 소스를 포함하고 있으며, Qualcomm MSM 칩셋 작업의 출발점으로 사용할 수 있습니다.

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

omap 프로젝트는 PandaBoard 및 Galaxy Nexus에 사용되며, TI OMAP 칩셋 작업의 출발점으로 사용할 수 있습니다.

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

samsung 프로젝트는 Nexus S에 사용되며, 삼성 Hummingbird 칩셋 작업의 출발점으로 사용할 수 있습니다.

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

tegra 프로젝트는 Xoom, Nexus 7(2012) 및 Nexus 9용이며, NVIDIA Tegra 칩셋 작업의 출발점으로 사용할 수 있습니다.

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

x86_64 프로젝트는 Nexus Player용 커널 소스를 포함하고 있으며, Intel x86_64 칩셋 작업의 출발점으로 사용할 수 있습니다.

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

커널 빌드

기본 분기(예: master)를 빌드하지 않으려면 빌드 전에 해당하는 커밋을 체크아웃해야 합니다. 사전 빌드된 커널 바이너리의 커널 버전을 식별하는 방법은 커널 버전 식별을 참조하세요. 이제 커널을 빌드할 준비가 되었습니다. 다음 빌드 명령어는 hikey 커널을 사용합니다.

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

다른 커널을 빌드하려면 hikey-linaro를 빌드하려는 커널의 이름으로 바꾸고 hikey_defconfig를 상응하는 defconfig 파일의 이름으로 바꿉니다.

이미지는 arch/arm64/boot/ 디렉터리로 출력되고 커널 바이너리는 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dtb 파일로 출력됩니다. 새로 빌드한 커널을 AOSP 이미지에 삽입하는 방법은 커널 실행의 안내를 따르세요.