您的位置:首页 > 运维架构 > Linux

Ubuntu14.04交叉编译Linux内核

2016-05-09 21:28 525 查看
1 开发环境

    宿主机:Ubuntu14.04

    开发板:MIni2440

    Kernel:2.6.34.7

2 解压与配置

tar -axvf linux-2.6.34.7.tar.bz2
cd linux-2.6.34.7
cp arch/arm/configs/mini2440_defconfig .config
make menuconfig



    说明:

(1)从linux-2.6.31开始Mini2440被正式加入Linux官方内核,因此arch/arm/configs目录中包含了Mini2440的默认配置文件mini2440_defconfig

(2)make menuconfig是必须的,就算并没有在菜单界面中做任何配置,但是调用它可使上述配置生效(退出菜单配置界面时提示是否保存,要确认)。

(3)关于配置详见《Linux内核配置》。

(4)linux-2.6.34.7/Documentation/arm/README中有关于交叉编译的说明:

If you wish to cross-compile, then alter the following lines in the top
level make file:

ARCH = <whatever>
with
ARCH = arm

and

CROSS_COMPILE=
to
CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
eg.
CROSS_COMPILE=arm-linux-

Do a 'make config', followed by 'make Image' to build the kernel
(arch/arm/boot/Image).  A compressed image can be built by doing a
'make zImage' instead of 'make Image'.


3 编译

    在内核顶级目录中执行:

make -j8

    说明:开启8个线程进行编译以加快速度。

4 结果

    编译完成后,在linux-2.6.34.7/arch/arm/boot/目录中生成了zImage文件,即为内核镜像,可将其烧写到Mini2440开发板中,详见《U-Boot烧写系统到Nand Flash》。

参考资料

[1]linux内核的编译

[2]linux内核编程4部曲之一:linux内核编译(2.6.12版本)图文解说

[3]交叉编译 Linux 内核 for ARM 

[4]Linux内核编译详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: