我需要自定义android的内核以在我的Nexus S上运行。
所以我下载了分支名为“remotes / origin / android-samsung-2.6.35-gingerbread”的内核
我尝试按照http://source.android.com/source/building-kernels.html中的说明来构建内核。要做到这一点,我需要交叉编译工具。在我的目标android源代码版本android-2.3.5_r1,没有这样的工具(没有prebuilts /文件夹)。所以我下载了4.1.2版并将工具设置为path prebuilts / gcc / linux-x86 / arm / arm-eabi-4.6 / bin。 然后我尝试构建我的内核,但是我收到了以下错误:
[root@localhost samsung]# make
scripts/kconfig/conf -s arch/arm/Kconfig
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC drivers/gpu/pvr/osfunc.o
In file included from drivers/gpu/pvr/osfunc.c:39:0:
include/linux/pagemap.h: In function 'fault_in_pages_readable':
include/linux/pagemap.h:415:16: error: variable 'c' set but not used [-Werror=unused-but-set-variable]
drivers/gpu/pvr/osfunc.c: In function 'OSAccessOK':
drivers/gpu/pvr/osfunc.c:2144:13: error: variable 'linuxType' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[3]: *** [drivers/gpu/pvr/osfunc.o] Error 1
make[2]: *** [drivers/gpu/pvr] Error 2
make[1]: *** [drivers/gpu] Error 2
make: *** [drivers] Error 2
我应该禁用“所有警告被视为错误”来解决它吗?或者我可能需要更好的工具链?
PS:我不能使用主分支和分支4.2的工具链。因为看起来它们是针对64位操作系统而我的linux是32位
答案 0 :(得分:0)
你有ARCH = ARM和TOOLCHAIN的路径指向\ prebuilts文件夹中的工具链吗?
make ARCH=ARM TOOLCHAIN=\<homeofAOSP>\prebuilt\.. herring_defconfig
在执行make clean
之前 make