0

android emulator에 대해 linux source code을 컴파일 중입니다. 나는 모든 전제 조건을 다했다. 나는 다음과 같은 명령 android 용 Linux 소스 코드를 컴파일하는 동안 "kernel.config file missing"오류가 발생했습니다.

$adb pull /proc/config.gz . # get compressed .config file from the emulator. 

$gunzip config.gz # uncompress it. 
$cp config .config # rename it into .config 

으로 android emulator(1.5)에서 .config 파일을 추출 이제 설정 파일 내/안드로이드-SDK-linux_x86/도구 디렉토리에 있습니다. 나는 나의 필요에 따라 그것을 수정했다. 이제 내가 (건물 및 크로스 - 리눅스 소스를 컴파일)에 대한 다음과 같은 오류가 발생하려고합니다. 내 안드로이드 커널 소스가있는 곳

[email protected]:~# cd common 
[email protected]:~/common# ARCH=arm CROSS_COMPILE=/home/preetam/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make 
    HOSTCC scripts/basic/fixdep 
scripts/basic/fixdep.c: In function ‘traps’: 
scripts/basic/fixdep.c:377: warning: dereferencing type-punned pointer will break strict-aliasing rules 
scripts/basic/fixdep.c:379: warning: dereferencing type-punned pointer will break strict-aliasing rules 
    HOSTCC scripts/basic/docproc 
    HOSTCC scripts/basic/hash 
    HOSTCC scripts/kconfig/conf.o 
scripts/kconfig/conf.c: In function ‘conf_askvalue’: 
scripts/kconfig/conf.c:105: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result 
scripts/kconfig/conf.c: In function ‘conf_choice’: 
scripts/kconfig/conf.c:307: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result 
    HOSTCC scripts/kconfig/kxgettext.o 
    SHIPPED scripts/kconfig/zconf.tab.c 
    SHIPPED scripts/kconfig/lex.zconf.c 
    SHIPPED scripts/kconfig/zconf.hash.c 
    HOSTCC scripts/kconfig/zconf.tab.o 
    HOSTLD scripts/kconfig/conf 
scripts/kconfig/conf -s arch/arm/Kconfig 
*** 
*** You have not yet configured your kernel! 
*** (missing kernel .config file) 
*** 
*** Please run some configurator (e.g. "make oldconfig" or 
*** "make menuconfig" or "make xconfig"). 
*** 
make[2]: *** [silentoldconfig] Error 1 
make[1]: *** [silentoldconfig] Error 2 
    CHK  include/linux/version.h 
    UPD  include/linux/version.h 
    Generating include/asm-arm/mach-types.h 
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop. 
[email protected]:~/common# 

내가 여기 http://linuxclues.blogspot.com/2010/05/build-compile-linux-kernel-android.html

"common" 디렉토리에서 지시 사항을 따라하고있다. 오류는 .config 파일에 관한 것입니다. .config 파일을 어디에 두어야합니까? 또는이 문제를 해결하는 방법?

도와주세요. 고맙습니다!

답변

1

"make menuconfig"에서 구성 파일을 명시 적으로로드 할 수 있다고 생각합니다. 새 커널이 현재 ".config"에서 사용할 수없는 옵션을 기대할 수 있기 때문에 좋은 생각 일 수 있습니다. 그렇게하면 "menuconfig"는 이전 ".config"를 템플릿으로 사용합니다.

+0

답장을 보내 주셔서 감사합니다. 하지만 수정 된 .config 파일을/common 디렉토리에 복사하면 효과가있었습니다! – Preetam

+0

해결되었습니다. 고맙습니다 . – Preetam

0

.config가 있으면 include/config/auto.conf 파일을 제거하십시오.

관련 문제