交叉编译树莓派内核

交叉编译树莓派内核

在过去的几个小时里,我一直在尝试在我的 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”的文件夹。其中有一个名为tools和rpi-3.6.y的文件夹,它们分别包含编译工具和rpi内核源代码。

当我到达“首先,确保您的构建目录是干净的”步骤并运行

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)这些文件存在 - 尝试再次下载源或检查文件的权限。

当我在 Debian 上编译最后一个内核时,由于某种原因,我不得不将源目录移动到 /usr/src/rpi-kernel ,但我无法让它在我的主目录中工作。

如果权限不是问题,也许您想使用更新版本的内核,github 看起来像是 3.12.y 是最新版本。

相关内容