カーネルを手動でビルドする

このセクションは、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 用のカーネルソースがあり、Samsung 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 用で、Samsung 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 イメージに埋め込む手順については、カーネルを実行するをご覧ください。