在Linux-2.6.38.8上移植yaffs2文件系统

本文介绍如何在Linux-2.6.38.8上成功移植YAFFS2文件系统,包括所需源码包的获取及移植过程中的关键步骤,并解决因源码包版本过旧导致的错误。

    开发平台:Ubuntu 11.04

    Yaffs2源码包:yaffs2.tar.bz2 (可从http://download.youkuaiyun.com/download/npy_lp/3810132 上下载)

 

    通过以下命令即可在Linux-2.6.38.8上成功移植yaffs2文件系统(以下命令都是基于内核源码目录linux-2.6.38.8和yaffs2源码包yaffs2.tar.bz2在Ubuntu的同一目录下)。 

$ tar jvxf yaffs2.tar.bz2
$ cd yaffs2/
$ ./patch-ker.sh c m ../linux-2.6.38.8
$ cd ../linux-2.6.38.8/
$ make menuconfig  //把yaffs2配置进内核
 File systems --->
	 [*] Miscellaneous filesystems --->
		 <*> yaffs2 file system support
$ make

    如果你在以前移植yaffs2时出现下面类似的错误信息,那说明你的yaffs2源码包太老了,与新版本内核已经不兼容了,因为不同版本的内核有些结构体和函数是不太一样的。 

fs/yaffs2/yaffs_fs.c:290: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:349: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:362: error: unknown field 'delete_inode' specified in initializer
fs/yaffs2/yaffs_fs.c:362: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:363: error: unknown field 'clear_inode' specified in initializer
fs/yaffs2/yaffs_fs.c:363: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c: In function 'yaffs_delete_inode':
fs/yaffs2/yaffs_fs.c:573: error: implicit declaration of function 'clear_inode'
fs/yaffs2/yaffs_fs.c: In function 'yaffs_setattr':
fs/yaffs2/yaffs_fs.c:1523: error: implicit declaration of function 'inode_setattr'
fs/yaffs2/yaffs_fs.c: In function 'yaffs_internal_read_super':
fs/yaffs2/yaffs_fs.c:2100: error: implicit declaration of function 'init_MUTEX'
make[2]: *** [fs/yaffs2/yaffs_fs.o] Error 1
make[1]: *** [fs/yaffs2] Error 2
make: *** [fs] Error 2

    可以通过GIT获得最新的yaffs2源码包,至于如何操作,在yaffs2的官网上( http://www.yaffs.net/node/346 )已有说明。

$ sudo apt-get install git  //Ubuntu上先安装git
$ git clone git://www.aleph1.co.uk/yaffs2  //当前目录下的yaffs2目录就是新下载的最新版本的yaffs2

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tanglinux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值