分类: 嵌入式
2013-03-09 16:56:36
Linux-2.6.31内核移植(三)yaffs2
下载yaffs2源码(在光盘资料/源码包/其他软件源码/目录下)
解压,进入yaffs2目录,执行:
./patch-ker.sh c /home/yan/linux-2.6.31/
这个是你的内核源码目录
这时内核源码fs目录下多了一个yaffs2目录,同时Makefile文件和Kconfig文件也增加了yaffs2的配置和编译条件。
配置对yaffs2支持:
这部分配置的比较多,根据自己的需要吧,把不用的文件系统都去掉,语言的支持也要设置
主要是选择上这几项:
File systems --->
Miscellaneous filesystems --->
<*> YAFFS2 file system support
[*] Autoselect yaffs2 format
其他的文件系统都不也不选,如果需要用cramfs,可选上对cramfs文件系统的支持。
这时make zImage 出现这样的错误:
/bin/sh: line 1: arm-linux-nm: command not found
No valid symbol.
make: *** [.tmp_kallsyms1.S] Error 1
我的解决办法:
Vim /etc/profile (打开被屏蔽的其他工具链)
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
export PATH=/usr/local/arm/4.3.2/bin:$PATH
export PATH=/usr/local/arm/2.95.3/bin:$PATH
export PATH=/usr/local/arm/3.3.2/bin:$PATH
export PATH=/opt/toolchains/arm920t-eabi/bin:$PATH
再make zImage
成功了!
下载到开发板上!看到yaffs的信息:
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs: auto selecting yaffs2
block 298 is bad
usb 1-1: new full speed USB device using s3c2410-ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 132K