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文件中:
①、增加头文件定义:
#include<Linux/mtd/partitions.hi>
#include<Linux/mtd/nand.h>
#inelude<asm/arch/nand.h>
②、增加staticstruct mtd-partition partition-info[]函数,建立分区表信息,分区内容如表1所示;
③、加入NandFlash分区:struet s3c241O-nand-set nandset-{nr_partitions:5,partitions:partition-info,};
④、建立NandFlash芯片支持struct s3c2410-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,使内核启动时初始化NANDFLASH信息。
(4)、为了使内核支持devfs并在启动时在/sbin/init运行之前自动挂载/dev为devfs文件系统.修改fs/Kconfig.并在 menu"Pseudo filesystetns"下添加如下语句:config DEVFS_FSbooI"/dev flie system support(OBOLETE) default yconfig DEVFS-MOUNTbool"Automatically mount at boot"default ydepends on DEVFS FS 2.2.3、内核的编译和加载
(1)、执行make mrproper:编译内核前清理编译环境。
(2)、执行makeme nuconfig:对内核进行配置是量体裁衣的过程.是十分复杂的过程,配置适合自已的内核可能需要多次重复的配置操作。以下根据该系统对部分配置做简单 介绍:Boot options一一一>Default kernel command string
No initrd root=/dev/mtd block3 init=/Linuxrc
console--ttySAC0.115200
说明:mtdblock3代表NANDFASH第4个分区,他足该系统的root分区;
Floating point emulation一一一>
NwFPE math emulation
#选择在内核中使用NWFPE浮点模拟
File systems一一一>
<>Second extended fs support
#去除对ext2的支持
Pseu do filesystems一一>
/proc file system support
Virtual memory file system support(former shmfs)
/dev file system support(OBSOLETE)
Automatically mount at boot(NEW)
这里会看到前面修改fs/Kconfig的结果,devfs已经被支持。
Miscellaneous file systems一-->
#选择YAFFS2根文件系统
<*>YAFFS2 file system support
------512byte/pagedevices
Lets Yaffs doi ts own ECC
[]Use the same ecc byte order as Steven Hill'S nand-ecc.C
一一一2048byte(or larger)/page devices
Auto select yaffs2 format
Disable lazy loading
(10)Reserved blocks for check pointing
Turn off wide tnodes
[]Force chunk erase check
[]Cache short names in RAM
Network File Systems---〉
<*〉NFS file system support
(3)、执行makeb zlmage,成功编译后将在arch/arm/boot/下生成需要的文件zImage。
(4)、在vivi提示符下,输入"load flash kernel x"命令通过串口下载内核映像到NAND FLASH的KERNEL分区中。