2017-04-13 7 views
0

現在、Linuxカーネルを再構築しようとしていますが、いくつかの問題を試しています。Linuxカーネルの.configファイルを生成すると、ソースフォルダが不正になる

make menuconfigを使用して.configファイルを変更しました。

... 
make[1]: Entering directory '/home/doe/build/linux' 
    CHK  include/config/kernel.release 
    GEN  ./Makefile 
    CHK  include/generated/uapi/linux/version.h 
    CHK  include/generated/utsrelease.h 
    Using /home/doe/workspace/linux as source for kernel 
    /home/doe/workspace/linux is not clean, please run 'make mrproper' 
    in the '/home/doe/workspace/linux' directory. 
/home/doe/workspace/linux/Makefile:1027: recipe for target 'prepare3' failed 
make[1]: *** [prepare3] Error 1 
... 

次に、make mrproperを実行しようとしました。それはうまく動作し、私のビルドフォルダから自分の.configファイルを削除します。驚くことなく、.configファイルがないためビルドできません。

私は、def-configの後にmake -j 8を実行しました。基本的な設定ファイルを使ってビルドしようとしました。

... 
    HOSTCC scripts/mod/file2alias.o 
    HOSTLD scripts/mod/modpost 
    HOSTCC arch/x86/tools/relocs_32.o 
    HOSTCC arch/x86/tools/relocs_64.o 
    HOSTCC arch/x86/tools/relocs_common.o 
    Using /home/doe/workspace/linux as source for kernel 
    /home/doe/workspace/linux is not clean, please run 'make mrproper' 
    in the '/home/doe/workspace/linux' directory. 
/home/doe/workspace/linux/Makefile:1027: recipe for target 'prepare3' failed 
make[1]: *** [prepare3] Error 1 
make[1]: *** Waiting for unfinished jobs.... 
    HOSTLD arch/x86/tools/relocs 
make[1]: *** wait: No child processes. Stop. 
Makefile:152: recipe for target 'sub-make' failed 
make: *** [sub-make] Error 2 

.configファイルを生成すると、元のフォルダが汚れてしまいますがどうしたらいいですか?

+0

これは、いくつかの 'env'設定が原因である可能性があります。 * 'make menuconfig'の間に、なぜ'/home/doe/workspace/linux'の代わりに '/ home/doe/build/linux'に入るのでしょうか?さらにもう1つのことは、エクスポートしていない場合にも( 'make ARCH = x86_64 menuconfig'のような)アーチ名を指定する必要があることを常にお勧めします。 –

+1

'export ARCH = ; git clean -xfd && make _defconfig && make -j8'( ''はあなたの実際のdefcofnigの名前で、 ''は使用されているアーキテクチャですので、まず 'export CROSS_COMPILE = ...'が必要な場合があります。 – 0andriy

答えて

0

"include/config"ディレクトリがカーネルソースに存在するかどうかを確認する必要があります。

prepare3ターゲットは、 '.config'ファイルと 'include/config'ディレクトリをチェックします。 Makefileの "prepare3"を検索すると見つかります。

関連する問題