0K6410学习之移植linux内核支持yaffs2文件系统

环境:

 

PC机系统:Redhat6.1

目标板:    OK6410

目标板系统:linux3.0.101

编译器:       arm-linux-gcc4.3.2

 

1. 进入make menuconfig后       Boot options  ---> 输入

noinitrd console=ttySAC0,115200root=/dev/mtdblock2 init=/linuxrc rootfstype=yaffs2

如下图示:

2.    内核加入YAFFS2文件系统,编译

    参考前面这篇:http://blog.csdn.net/jxnu_xiaobing/article/details/17999115

3.    makemenuconfig 配置如下:

Device Drivers配置Generic Driver Options选择

       [*] Maintain a devtmpfs filesystem to mount at /dev 

       [*] Automount devtmpfs at /dev, after the kernel mounted the .... 

MTD-->Caching block device access to MTDdevices

4.    FileSystems 配置

         取消 Secondextended fs support 和 Ext3 journalling file system support

         [*] Miscellaneous filesystems --->选择yaffs2 file system support选项

 

 

 

5.      保存,编译内核。但是出现了如下错误:


这是因为,我之前在打补丁的时候使用的是:

./patch-ker.sh  c s ../linux-3.0.101

s选项,这里应该使用m选项,正确的命令是:

./patch-ker.sh  c m ../linux-3.0.101

两个命令的区别不仔细解释,看下help手册就知道。

上面命令完成下面三件事情: 

 (1) 修改内核fs/Kconfig      

增加一行:source"fs/yaffs2/Kconfig" 

 (2) 修改内核fs/Kconfig      

增加一行:ojb-$(CONFIG_YAFFS_FS)+=yaffs2/ 

 (3) 在内核fs/目录下创建yaffs2目录      

将yaffs2源码目录下面的Makefile.kernel文件复制为内核fs/yaffs2/Makefie;     

将yaffs2源码目录的Kconfig文件复制到内核fs/yaffs2目录下;     

将yaffs2源码目录下的*.c *.h文件复制到内核fs/yaffs2目录下.

这样就没有问题了。

4.        再次编译内核,烧写到开发板上,能够看到以下启动信息:

可以看到文件系统已经成功挂载了。

但是执行初始化进程的时候失败了,接下来就是添加文件系统了。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值