2016-11-05 5 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と互換性があることを発見しました。だからここに私はあなたのBoardConfig.mk

TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-eabi- 

に次の行を追加して、どちらか

export TARGET_LEGACY_GCC_VERSION=4.7 
を使用して、このCyanogenmodを行うには

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 

を使用するコマンドです

または〜〜android/systeを編集してくださいm/build/core/combo/TARGET_linux-arm.mkを開き、バージョンを

$(combo_2nd_arch_prefix)TARGET_LEGACY_GCC_VERSION := 4.7 
1

gcc version 4.7をセットアップし、CC変数を使ってコンパイラとして設定する必要があると思います。例えば。 make target CC=/bin/gcc4.7

詳細情報hereおよびhere

+0

に設定してください。私もursを試してみます。 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 =アーム 輸出SUBARCH =アーム 輸出CROSS_COMPILE =アームのlinux-androideabi- メイクhammerhead_defconfig メイク-j2 'ここで' PATH'環境変数はツールチェーンパスによって追加されます。必要なtoolchainディレクトリがPATHディレクトリリストの最初にあることを確認してください。 – nopasara

関連する問題