C/C++ Cyanogenmod 如何使用不同版本的工具链编译内核?
C/C++ Cyanogenmod How to compile kernel using different version of toolchain?
我正在尝试为 Cyanogenmod 13 编译内核。我遇到了错误
ERROR: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
To build the kernel despite the mismatches, build with:
'make CONFIG_NO_ERROR_ON_MISMATCH=y'
(NOTE: This is not recommended)
我读了here。我需要使用 4.7 编译我的内核。
cyanogenmod构建时如何选择工具链版本??
我相信您需要设置 gcc 4.7 版并使用 CC 变量将其设置为编译器。例如。 make target CC=/bin/gcc4.7
更多信息here and here。
感谢@nopasara 和他的宝贵意见。
所以我没有做进一步的研究,发现内核与 arm-eabi tool chain
而不是 arm-linux-androideabi
工具链兼容。所以这是我使用的命令
export PATH=$PATH:~/android/system/prebuilts/gcc/linux-x86/arm/arm-linux-eabi-4.7/bin/ && export ARCH=arm && export SUBARCH=arm && export CROSS_COMPILE=arm-linux-eabi- && make msm8226_defconfig O=~/android/system/out/target/product/E6790/obj/KERNEL_OBJ
和
make O=~/android/system/out/target/product/E6790/obj/KERNEL_OBJ zImage -j4
要使用此 Cyanogenmod,请将以下行添加到您的 BoardConfig.mk
TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-eabi-
并使用
export TARGET_LEGACY_GCC_VERSION=4.7
或编辑~/android/system/build/core/combo/TARGET_linux-arm.mk 并在
中设置版本
$(combo_2nd_arch_prefix)TARGET_LEGACY_GCC_VERSION := 4.7
我正在尝试为 Cyanogenmod 13 编译内核。我遇到了错误
ERROR: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
To build the kernel despite the mismatches, build with:
'make CONFIG_NO_ERROR_ON_MISMATCH=y'
(NOTE: This is not recommended)
我读了here。我需要使用 4.7 编译我的内核。 cyanogenmod构建时如何选择工具链版本??
我相信您需要设置 gcc 4.7 版并使用 CC 变量将其设置为编译器。例如。 make target CC=/bin/gcc4.7
更多信息here and here。
感谢@nopasara 和他的宝贵意见。
所以我没有做进一步的研究,发现内核与 arm-eabi tool chain
而不是 arm-linux-androideabi
工具链兼容。所以这是我使用的命令
export PATH=$PATH:~/android/system/prebuilts/gcc/linux-x86/arm/arm-linux-eabi-4.7/bin/ && export ARCH=arm && export SUBARCH=arm && export CROSS_COMPILE=arm-linux-eabi- && make msm8226_defconfig O=~/android/system/out/target/product/E6790/obj/KERNEL_OBJ
和
make O=~/android/system/out/target/product/E6790/obj/KERNEL_OBJ zImage -j4
要使用此 Cyanogenmod,请将以下行添加到您的 BoardConfig.mk
TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-eabi-
并使用
export TARGET_LEGACY_GCC_VERSION=4.7
或编辑~/android/system/build/core/combo/TARGET_linux-arm.mk 并在
中设置版本 $(combo_2nd_arch_prefix)TARGET_LEGACY_GCC_VERSION := 4.7