我正在使用安装了最新版本的Platform-tools的Ubuntu 20.04计算机,并且(我相信)所有必要的依赖项。
我创建了一个新目录〜/ beta1-kernel-coral,并在此目录中克隆了内核:
git clone -b android-msm-coral-4.14-r-beta-1 https://android.googlesource.com/kernel/msm/
我注意到使用的clang版本是clang-r383902。我下载了该目录并将其解压缩,以便在〜/ beta1-kernel-coral中有两个单独的目录:msm和clang-r383902。
在〜/ beta1-kernel-coral / msm中,我运行了两个命令:
make floral_defconfig
make menuconfig
接下来,使用Github的Nathan Chance指南,我运行了以下命令:
PATH="/home/jherwig/beta1-kernel-coral/clang-r383902/android_prebuilts_clang_host_linux-x86_clang-6443078-10.0/bin:/usr/bin:/usr/bin:${PATH}" make -j$(nproc --all) ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi-
内核开始编译,直到收到以下输出:
在Nathan的指南中,他指示使用:
PATH="<path to clang folder>/bin:<path to 64-bit gcc folder>/bin:<path to 32-bit gcc folder>/bin:${PATH}" \ ...
因为我安装的gcc-multilib的,我想<path to 64-bit gcc folder>
和<path to 32-bit gcc folder>
将在/ usr / bin中。当我输入which gcc
终端时,我会得到/ usr / bin / gcc。
CAF内核不是主线内核,因此您不能这样编译它们。您必须运行make distclean并为每个make命令(包括defconfig)指定一个out目录。
示例:make O = out
如果不为每个make命令指定O = out,则会遇到以下错误:分配给O的值可以是任何值,不必一定是out,但是您不能在与源代码相同的目录中构建内核
更改此:
使floral_defconfig
制作menuconfig
对此:
使floral_defconfig O = out
使menuconfig O = out
用以下命令构建:
使O = out
切记先在源目录中使distclean
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句