2014-12-19 3 views
2

이전 리눅스 커널을위한 크로스 컴파일러를 설정하는 동안 문제가 발생했습니다.설치 오래된 리눅스 커널 용 Buildroot

cp -dpRf package/config/buildroot-config /tmp/buildroot/buildroot-2009.02/project_build_mips/uclibc/buildroot-config 
(cd /tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux-2.6.15; \ 
    /usr/bin/make -j1 ARCH=mips \ 
     HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \ 
     HOSTCXX="/usr/bin/g++" \ 
     INSTALL_HDR_PATH=/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux headers_install; \ 
    ) 
make[1]: Entering directory `/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux-2.6.15' 
Makefile:486: .config: No such file or directory 
make[1]: *** No rule to make target `headers_install'. Stop. 
make[1]: Leaving directory `/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux-2.6.15' 
make: *** [/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux/.configured] Error 2 

통지 내용은 make[1]: *** No rule to make target 'headers_install'. Stop.입니다. stackoverflow에서 검색 한 결과 Setup buildroot for old kernels이 스레드를 발견했습니다.

그 사람은 나와 같은 문제에 직면했습니다. 이전 버전의 빌드 루트를 사용하여 제안한 대답입니다. 따라서 buildroot의 가장 오래된 버전 인 buildroot-2009.02를 사용했지만 여전히 동일한 결과를 얻었습니다.

커널을 최신 버전으로 업그레이드하지 말고 꼭이 버전을 사용해야합니다.

나는 그것이 무엇을 말하고 누군가가 나를 고칠 수 있는지에 대한 설명을 듣고 싶습니다.

미리 감사드립니다.

+0

커널을 크로스 컴파일하기 만하면 Buildroot가 필요한 이유는 무엇입니까? 리눅스 2.6.15 (2006 년경?) 당시, Buildroot는 다소 새롭고 안정적이지 않았고, 나는 그것을 사용하지 않고 Linux 커널과 rootfs를 만들고있었습니다. – sawdust

+0

나에게 처음부터 참조 할 수 있습니까? – CodeNinja

+0

커널 소스의 ** README ** 파일 (** Documentation ** 디렉토리)은 커널을 구성하고 컴파일하는 방법을 설명합니다. BTW 나는 Old Buildroot 20070706을 보았고, 그 이름에 걸맞게 루트 파일 시스템 만 만듭니다. ** 오래된 Buildroot는 리눅스 커널을 만들지 않습니다. ** 그래서 기본적인 리눅스 커널 빌드 절차를 사용하는 것 외에는 선택의 여지가없는 것처럼 보입니다. – sawdust

답변

1

표시되는 오류는 커널 빌드와 관련이없는 것 같지만 툴체인 (크로스 컴파일러) 빌드 중일 것입니다. 툴체인은 C 라이브러리가 시스템 호출을 생성하는 데 사용하는 커널 헤더를 설치해야합니다. 이를 위해 buildroot는 커널의 'headers_install'타겟을 사용합니다.

불행히도이 대상은 Linux 2.6.18에서만 도입되었습니다. 따라서 커널 버전에서는 buildroot를 사용하여 크로스 컴파일러를 빌드 할 수 없습니다.

예전 커널에 대해 크로스 컴파일러를 빌드하는 방법을 알지 못합니다. 원래의 'crosstool'프로젝트를 사용할 수 있습니다 (크로스 탭 - NG가 아닌, 너무 현대적입니다).

+0

롤, 답변 주셔서 감사합니다. 나는 그것을하려고 노력할 것이다. 나 또한이'headers_install' 메이크 파일을 직접 만들려고 시도하는 것과 같은 다른 것에 대해서도 마찬가지입니다. – CodeNinja

+0

업데이트가 있습니까? 크로스 컴파일러를 성공적으로 만들었습니까? 그렇다면 어떻게? – bzupnick