Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121892
  • 博文数量: 17
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-29 13:33
文章分类

全部博文(17)

文章存档

2009年(3)

2008年(14)

我的朋友

分类: LINUX

2008-05-07 14:42:42

对于现有embedding设备来说我们可以在nand flash里划分N个分区,在不同的分区放不同的文件系统,在这里我把rootfs做成了cramfs只读文件系统,但对于要执行写操作的用户来说,那么我在kernel里面增添一套yaffs2文件系统,因为我的内核本身不支持yaffs2系统所有我们要添加进去。
1.下载YAFFS文件系统代码
文件: yaffs2.tar.gz
大小: 104KB
下载: 下载
2

将压缩包解压生成的yaffs2文件夹复制到内核文件夹中/fs/,进入内核文件夹/fs/yaffs2

#cd 内核文件夹/fs/yaffs2

将其中的Makefile.kernel重命名为Makefile

#mv Makefile.kernel Makefile

修改$(linuxdir)/fs/Makefile Kconfig文件。
# cd $(linuxdir)/fs
# vi Makefile   (
将下面一行添加到Makefile)
    obj-$(CONFIG_YAFFS_FS) += yaffs2/
# vi Kconfig (
添加以下几行到Kconfig)

Config YAFFS_FS

tristate “Yet Another Flash File System(YAFFS)support”

depend on MTD_NAND

在最后一行加上
    source "fs/yaffs2/Kconfig”

endmenu


在编译内核时选择:
<*> YAFFS2 file system support
   < > 512 byte / page devices
    < > Lets Yaffs do its own ECC
         < > 2048 byte (or larger) / page devices
    <*> Autoselect yaffs2 format
    <*> Disable lazy loading
    <*> Turn off wide tnodes
   <*> Turn off debug chunk erase check
这里我没有把yaffs2的Ecc校验打开,
编译内核后,把zImage烧回nand flash
3.启动arm,在命令行

# cat /proc/filesystems    (查看内核支持的文件系统)
nodev    sysfs
nodev    rootfs
nodev    bdev
nodev    proc
nodev    sockfs
nodev    futexfs
nodev    pipefs
nodev    eventpollfs
          ext2
nodev    ramfs
nodev    devfs
nodev    nfs
nodev    jffs2
          romfs
          yaffs
          yaffs2//
说明已支持

nodev    rpc_pipefs

 

现在只能说我们的系统支持了yaffs2.

用mkyaffsimage工作制作一个11.yaffs

把mkyaffs 和11.yaffs烧入cramfs或用tftp上传到

/root(随意)

用mkyaffs 在nand flash制作一个yaffs系统

这里你查看你/proc/mtd里或/dev/mtd里你实际的分区结构

还有在arm 上执行mkyaffs时候 记得chmod 777 mkyaffs

mkyaffs /dev/mtd/2 11.yaffs

mount –t yaffs /dev/mtdblock/4 /mnt/aaa

这句可以写在你的启动shell里面

这样在启动你就可以实验写如文件了!



阅读(1768) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~