2016-11-05 3 views
0

Я пытаюсь скомпилировать ядро ​​для CyanogenMod 13. Я получаю ошибкуC/C++ Cyanogenmod Как скомпилировать ядро ​​с использованием другой версии toolchain?

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?

ответ

0

Благодаря @nopasara и его ценному комментарию.

Так что я еще немного исследовал и обнаружил, что ядро ​​совместимо с arm-eabi tool chain не arm-linux-androideabi toolchain. Так вот команда я использовал

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 

or edit ~/android/syste m/build/core/combo/TARGET_linux-arm.mk и установить версию в

$(combo_2nd_arch_prefix)TARGET_LEGACY_GCC_VERSION := 4.7 
1

Я считаю, вам нужно настроить gcc версии 4.7 и использовать переменную CC, чтобы установить ее как компилятор. Например. make target CC=/bin/gcc4.7

Дополнительная информация here и here.

+0

im try method from this post, спасибо за ответ ур. Я тоже попробую урсов. http://forum.xda-developers.com/chef-central/android/guide-switching-to-custom-toolchain-t2927662 – DeepSidhu1313

+1

только что заметил, что в вашем посте есть ссылка на руководство, описывающее настройку инструментальной цепочки: 'export PATH = $ PATH: /toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86_64/bin/ экспорта ARCH = рука экспорт субархитектура = рука экспорта CROSS_COMPILE = рычажный линукс-androideabi- делают hammerhead_defconfig делают -j2 'Здесь переменная среды PATH' добавляется путем pathchain. Просто убедитесь, что нужный каталог инструментальных ключей сначала в списке каталогов PATH. – nopasara

Смежные вопросы