系统:ubuntu10.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/machs3c2410/machsmdk2410.c文件
vi arch/arm/machs3c2410/machsmdk2410.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 |