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