Raspberry Pi 커널 크로스 컴파일

Raspberry Pi 커널 크로스 컴파일

지난 몇 시간 동안 저는 Arch Linux 배포판과 Ubuntu 배포판에서 rpi 커널을 교차 컴파일하려고 시도했는데 실패했을 때 두 시도 모두에서 비슷한 오류가 발생했습니다.

현재 다음 지침을 따르고 있습니다.http://elinux.org/RPi_Kernel_Compilation http://ozzmaker.com/2012/11/26/how-to-cross-compile-the-kernel-for-the-raspberry-pi/

내 홈 디렉토리에 "linux"라는 폴더가 있습니다. 컴파일 도구와 rpi 커널 소스 코드가 각각 포함된 tools 및 rpi-3.6.y라는 폴더가 있습니다.

"먼저 빌드 디렉터리가 깨끗한지 확인하세요" 단계에 도달하면 다음을 실행합니다.

make mrproper 

다음 오류가 발생합니다.

scripts/Makefile.clean:17: /home/aquacell/linux/rpi-3.6.y/arch/x86/crypto/Makefile: No such file or directory
make[2]: *** No rule to make target '/home/aquacell/linux/rpi-3.6.y/arch/x86/crypto/Makefile'. Stop.
scripts/Makefile.clean:94: recipe for target 'arch/x86/crypto' failed
make[1]: *** [arch/x86/crypto] Error 2
Makefile:1039: recipe for target '_clean_arch/x86' failed
make: *** [_clean_arch/x86] Error 2

이 단계를 건너뛰고 실제 크로스 컴파일을 수행하기로 결정했지만 다음 오류가 발생합니다.

$ make ARCH=arm CROSS_COMPILE=${CCPREFIX} oldconfig

/bin/sh: /home/aquacell/linux/rpi-3.6.y/scripts/kconfig/lxdialog/check-lxdialog.sh: No such file or directory
/bin/sh: /home/aquacell/linux/rpi-3.6.y/scripts/kconfig/lxdialog/check-lxdialog.sh: No such file or directory
/bin/sh: /home/aquacell/linux/rpi-3.6.y/scripts/kconfig/lxdialog/check-lxdialog.sh: No such file or directory
/bin/sh: /home/aquacell/linux/rpi-3.6.y/scripts/kconfig/lxdialog/check-lxdialog.sh: No such file or directory
scripts/kconfig/conf --oldconfig Kconfig
arch/arm/Kconfig:945: can't open file "arch/arm/mach-mvebu/Kconfig"
/home/aquacell/linux/rpi-3.6.y/scripts/kconfig/Makefile:33: recipe for target 'oldconfig' failed
make[1]: *** [oldconfig] Error 1
Makefile:503: recipe for target 'oldconfig' failed
make: *** [oldconfig] Error 2

누구든지 내가 뭘 잘못하고 있는지에 대한 통찰력을 제공할 수 있습니까? 목록에 없지만 이에 대한 정보를 찾을 수 없기 때문에 누락된 매우 분명한 단계나 핵심 부분이 있는 것 같습니다.

감사해요.

답변1

3.6.y의 최신 커밋을 보면(https://github.com/raspberrypi/linux/tree/rpi-3.6.y) 파일이 존재합니다. 소스를 다시 다운로드하거나 파일의 권한을 확인하세요.

데비안에서 마지막 커널을 컴파일할 때 어떤 이유로 소스 디렉터리를 /usr/src/rpi-kernel로 이동해야 했지만 홈 디렉터리에서 작동하도록 할 수 없었습니다.

권한이 문제가 되지 않는다면 최신 버전의 커널을 사용하고 싶을 수도 있습니다. github은 3.12.y가 최신 버전인 것처럼 보입니다.

관련 정보