Linux内核编译与裁剪(ARM版)


Linux系统:Ubuntu 10.10

1、首先建立arm-linux-gcc交叉编译环境:

下载arm-linux-gcc-3.4.1.tar.bz2 (见  )

复制,解压

#cd /

复制arm-linux-gcc-3.4.1.tar.bz2到当根目录

#tar jxvf arm-linux-gcc-3.4.1.tar.bz2

这样就会产生一个/usr/local/arm目录了。

2、到www.kernel.org上下载linux-2.6.30.4.tar.bz2源码包,并在主目录解压缩。

检查顶级Makefile,找到ARCH和CROSS_COMPILE的定义,改为:

ARCH?= arm

CROSS_COMPILE?= arm-linux-

然后需要修改PATH:

在主目录的.profile文件的最后加上export PATH=$PATH:/usr/local/arm/3.4.1/bin/

3、指定启动时初始化

kernel 启动时依据我们对分区的设置进行初始配置

修改arch/arm/mach­s3c2410/mach­smdk2410.c 文件

vi arch/arm/mach­s3c2410/mach­smdk2410.c

修改smdk2410_devices[].指明初始化时包括我们在前面所设置的flash 分区信息

static struct platform_device *smdk2410_devices[] __initdata ={

&s3c_device_usb,

&s3c_device_lcd,

&s3c_device_wdt,

&s3c_device_i2c,

&s3c_device_iis,

/* 添加如下语句即可*/

&s3c_device_nand,

};

保存,退出。

1.4 配置内核

支持启动时挂载devfs

为了我们的内核支持devfs 以及在启动时并在/sbin/init 运行之前能自动挂载/dev为 devfs 文件系统,    修改

fs/Kconfig 文件

vi fs/Kconfig

找到menu "Pseudo filesystems"

添加如下语句:

config DEVFS_FS

bool "/dev file system support (OBSOLETE)"

default y

config DEVFS_MOUNT

bool "Automatically mount at boot"

default y

depends on DEVFS_FS

  • 1
  • 2
  • 3
  • 下一页

相关内容