mini2440 liunx2.6 版本 内核制作-基础篇

安装好了uboot后,就可以开始使用它来下载内核了。

我使用的内核版本是 2.6.29

在working目录下

mkdir kernel

cd kernel

cp /mnt/hgfs/forubuntu/kernel/linux-2.6.29.tar.gz ./

tar xvzf linux-2.6.29.tar.gz

cd linux-2.6.29

现在就在linux的顶层目录下了。


与在宿主机上编译x86的步骤一样,命令有些区别


1.清理

make distclean(有三种),一般我用这个

输出

CLEAN   scripts/basic
CLEAN   scripts/kconfig
CLEAN   include/config

2.配置

mini2440在linux2.6后加入了配置文件,可以找到来进行修改。我这里直接使用光盘里面的linux中的config—mini2440

cp config-mini2440  .config

make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-

出现了图形编译模式。如果出错,把终端最大化。

直接退出,因为已经配置好了,我们直接拿来使用。


3.编译内核

make uImage ARCH=arm CROSS_COMPILE=arm-linux-


如果出现错误:cc1: error: invalid option `abi=aapcs-linux'
make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-


选择Kernel Features 取消 Use the ARM EABI to compile the kernel

保存退出


再make uImage ARCH=arm CROSS_COMPILE=arm-linux-


如果出现无法生成uImage 情况,即mkimage没有找到这条命令,则将 uboot/tool/mkimage  拷贝到 /usr/bin 中


编译成功后 出现

  Kernel: arch/arm/boot/zImage is ready
  UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-2.6.29.4-FriendlyARM
Created:      Sat Mar 24 08:38:07 2012
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2012416 Bytes = 1965.25 kB = 1.92 MB
Load Address: 30008000
Entry Point:  30008000
  Image arch/arm/boot/uImage is ready

uImage 在arch/arm/boot/ 下,到这里我们的内核就制作完成了。现在把内核下载是不能运行的,应为没有根文件系统,所以不能运行。

下篇文章会介绍,根文件系统的制作。



你可能感兴趣的:(linux内核)