如何在Ubuntu主机上交叉编译内核?


Answers:


24

制备

首先,我们需要安装必需的先决条件。我认为您可以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
参考文献

1
非常感谢您提供使用crosstool-ng的替代方法。
EarthmeL12年

在我的情况下,CROSS_COMPILE只是一个前缀,因此以下内容就足够了(末尾没有gcc): make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
危险2014年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.