新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于S3C2410的嵌入式Linux系统构建

基于S3C2410的嵌入式Linux系统构建

作者: 时间:2011-01-24 来源:网络 收藏

2.2 linux2.6.14内核的移植

2.2.1 内核的选择

linux内核版本的更新速度非常快,但linux的内核版本发行同linux对处理器支持程度的发展是不同步的,因此,需要对特定的处理器体系结构选择合适的内核,并且根据其硬件功能部件加上相应的补丁。根据$3c2410的体系结构以及外围硬件特性,该系统采用linux2.6.14内核,所用的编译器为arm-linux-gcc一3.4.1版本;由于该系统采用的是yaffs2文件系统,因此需要从网上下载yaffs2.tar.gz文件,解压并执行./patch.ker.sh/i.inux2.6.14命令,对i.inux内核打补丁使其支持yaffs2文件系统。

2.2.2 内核的修改

(1)修改内核源码中makefile的交义编译项:

arm?=arm;cross一compile?=/usr/local/arm/3.4.1/bin/arm-linux一;

(2)在arch/arm/mach-s3c2410/devs.c文件中:

①增加头文件定义:

#includelinux/mtd/pa rtitions.hi>

#includelinux/mtd/nand.h>

#ineludeasm/arch/nand.h>

②增加static struct mtd-partition partition-info[]函数,建立分区表信息,分区内容如表1所示;

③加入nand flash分区:struet s3c24 1 o-nand-set nandset一{nr_partitions:5,partitions:partition-info,};

④建立nand flash 芯片支持struct s3c24 10-platform-nand superlpplatform={tacls:o,twrph0:30,twrphl:0,sets:&.nandset,nr-sets:1,};

⑤在nand flash驱动里加入nand flash芯片支持:在s3c-device-nand中增加.dev一{.platform一data一&super-lpplatform}。

(3)在arch/arm/machs3c2410/machsmdk2410.c中的一initdata部分增加s3c-device-nand,使内核启动时初始化nand flash信息。

(4)为了使内核支持devfs并在启动时在/sbin/init运行之前自动挂载/dev为devfs文件系统.修改fs/kconfig.并在menupseudo filesystetns下添加如下语句:config devfs_fsbooi/dev flie system support(obolete)default yconfig devfs-mountboolautomatically mount at bootdefault ydepends on devfs fs

2.2.3 内核的编译和加载

(1)执行make mrproper:编译内核前清理编译环境。

(2)执行make menuconfig:对内核进行配置是量体裁衣的过程.是十分复杂的过程,配置适合自已的内核可能需要多次重复的配置操作。以下根据该系统对部分配置做简单介绍: boot options一一一>default kernel command st ring

noinitrd root=/dev/mtdblock3 init=/linuxrc

console--ttysac0.1 15200

说明:mtdblock3代表nand fash第4个分区,他足该系统的root分区;

floating point emulation一一一>

[*]nwfpe math emulation

#选择在内核中使用nwfpe浮点模拟

file systems一一一>

>second extended fs support

#去除对ext2的支持

pseudo file
[*]/proc file system support

[*]virtual memory file system support(former

shm fs)

[*]/dev file system support(obsolete)

[*]automatically mount at boot(new)

这里会看到前面修改fs/kconfig的结果,devfs已经被支持。

miscellaneous filesystems一-- >

#选择yaffs2根文件系统

*>yaffs2 file system support

------51 2 byte/page devices

[*]lets yaffs do its own ecc

[ ]use the same ecc byte order as steven hill's nand-ecc.c

一一一2048 byte (or larger)/page devices

[*]autoselect yaffs2 format

[*]disable lazy loading

(1 0)reserved blocks for checkpointing

[*]turn off wide tnodes

[]force chunk erase check

[]cache short names in ram

network file systems---〉

*〉nfs file system support

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


关键词: 嵌入式

评论


相关推荐

技术专区

关闭