2014-03-28 4 views
0

커널 (금붕어)를 컴파일하여 나중에 일부 모듈을 삽입하려고합니다. 모듈 지원, 모듈로드 및 언로드를 활성화해야한다는 것을 알고 있습니다. OSX Mavericks를 사용하고 있습니다.로드 가능한 모듈 안드로이드 활성화

은 지금까지 나는 자식에서 금붕어를 체크 아웃 한 다음없는 짓을 :이

make ARCH=arm goldfish_armv7_defconfig 

아무 문제. 지금은 수행 할 때

ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: * [scripts/kconfig/mconf] Error 1 make: * [menuconfig] Error 2

인가가 나는 다른 방법으로 모듈을 활성화 할 수있는 방법 :

make ARCH=arm CROSS_COMPILE=/Volumes/untitled/WORKING_DIRECTORY/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin/arm-eabi- menuconfig 

나는 다음과 같은거야? 어쩌면 파일에 들어가 수동으로 할 수 있을까요?

난 그냥 (내가는 zImage를 얻을 후에 실행하는데있어하는) 실행하는 경우 : 커널 컴파일

make ARCH=arm SUBARCH=arm CROSS_COMPILE=/Volumes/untitled/WORKING_DIRECTORY/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin/arm-eabi -j16 

을 나는 에뮬레이터를 통해 그것을 실행할 수 있지만 분명히 내가 커널을 업로드 할 수 없습니다 모듈.

답변

0

모듈 로딩은 기본적으로 안드로이드 커널에서 비활성화되어 있습니다. 설정 파일에서 CONFIG_MODULES = y를 사용하여 설정하십시오. 이

ldflags() 
{ 
    for ext in so a dylib ; do 
     for lib in ncursesw ncurses curses ; do 
      #$cc -print-file-name=lib${lib}.${ext} | grep -q/
      #if [ $? -eq 0 ]; then 
      if [ -f /usr/lib/lib${lib}.${ext} ]; then 
       echo "-l${lib}" 
       exit 
      fi 
     done 
    done 
    exit 1 
} 

0

열기 스크립트/kconfig를/lxdialog/check-lxdialog.sh

교체 LDFLAGS()는 이제 make menuconfig 작동합니다. 이 문제는 OS X에서 clang으로 인한 버그의 결과 인 것 같습니다. -print-file-name 옵션이 올바르게 작동하지 않습니다.

양자 택일로, 당신은 텍스트 편집기에서의 .config 파일을 열고

CONFIG_MODULES=y 
을 설정할 수 있습니다
관련 문제