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版本)图文解说
[4]Linux内核编译详解