#1 楼
准备首先,我们需要安装必需的先决条件。我假设您具有
sudo
访问权限。sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
git
是Linux内核团队使用的版本控制系统。ncurses
是用于构建控制台菜单。 menuconfig
是必需的。make
为我们运行编译。gcc-arm-linux-gnueabi
是交叉编译器。接下来,我们需要检索源代码,运行:
git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux
这会将源代码克隆到名为
raspberrypi-linux
的目录并更改为该目录。编译
我们首先需要通过运行来移动配置文件
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
然后配置内核构建
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
可选:使用menuconfig自定义构建
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig
然后运行编译
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
参考文献
http://elinux.org/RPi_Kernel_Compilation
https://github.com/raspberrypi/linux
http://packages.ubuntu.com/precise/ gcc-arm-linux-gnueabi
http://mitchtech.net/raspberry-pi-kernel-compile/
#2 楼
我认为Alex是正确的,但是gcc-arm-linux-gnueabi是为arm cpus编译的,没有硬件浮点单元。您可以在以下网址找到具有armhf支持的交叉编译器:https://github.com/raspberrypi/tools,以及从此处开始的好教程:http://hertaville.com/2012/09/28/开发环境Raspberry-pi-cross编译器/
#3 楼
官方文档https://www.raspberrypi.org/documentation/linux/kernel/building.md(GitHub)
我建议您按照那里的步骤进行操作,或在某些内容过时或不够清晰时发送拉取请求:这些说明最有可能是正确的且是最新的,因为它们是项目官方文档的一部分。
评论
非常感谢您提供使用crosstool-ng的替代方法。
–earthmeLon
2012年7月14日在21:38
在我的情况下,CROSS_COMPILE只是一个前缀,因此以下内容就足够了(末尾没有gcc):make ARCH = arm CROSS_COMPILE = / usr / bin / arm-linux-gnueabi- -k
–danger89
2014年6月28日14:21