Ubuntu14.04交叉编译Linux内核

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烧写Linux系统到Nand Flash》。

参考资料

[1]linux内核的编译

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

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

[4]Linux内核编译详解

你可能感兴趣的:(Ubuntu14.04交叉编译Linux内核)