Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1683032
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: LINUX

2010-10-13 10:57:03

这几天想自己从u-boot,kernel到文件系统统统按照网上的资源来学做一边,但是在稀里糊涂的 移植好了u-boot和kernel之后,关于文件系统更是稀里糊涂?

于是就在以前加的n个嵌入式群里求助,但问题一个没有解决?暂记在这里,=有一天解决了,我在分享给大 家,或者那位知道的帮我理一理(2010-06-07)!

硬件资源:16M nor flash; 64M SDRAM; 64M nand flash。
CPU:S3C410A。
       问题1:假如nor flash中已移植了uboot,kernel(假如uboot,kernel已经占用了nor flash的前2M空间),文件系统(JFFS2)在nand flash中,那nor flash剩余的部分(14M)在linux下怎么使用?即对应的是“/”目录下面的那个目录或者是节点?
       问题2:假如nor flash中已移植了uboot,kernel(假如uboot,kernel已经占用了nor flash的前2M空间),并且启动就设为从nor flash启动,那
static struct mtd_partition partition_info[] ={
  {
  name: "loader",
  size: 0x00020000,
  offset: 0,
  }, {
  name: "param",
  size: 0x00010000,
  offset: 0x00020000,
  }, {
  name: "kernel",
  size: 0x001c0000,
  offset: 0x00030000,
  }, {
  name: "root",
  size: 0x00200000,
  offset: 0x00200000,
  mask_flags: MTD_WRITEABLE,
  }, {
  name: "user",
  size: 0x03af8000,
  offset: 0x00400000,
  }
  };
结构体中的前2个分区就没必要要了?
      问题3:nand flash中的“root”分区与“user”分区从用户的角度来说有什么区别?

第三个问题的疑惑是:用户平时在比如/usr目录下面建立新的文件,或保存程序。那用户使用的是 “root”的空间还是“user”的空间?

 

今天(2010-06-08)来解决问题:

在回答问题之前先来看看什么是MTD?

 

哦,原来FLASH是当作MTD块设备的,那么下面就来回答问题。

问题1:

答:内核在启动时通过执行脚本(mknod在/dev子目录下建立MTD设备节点)将MTD设备文件放 在“/dev/mtdblock/x”下面,哪怎么使用呢?通过”“mount -t fsType /dev/mtdblock/4 /mnt”将其挂载,然后你想怎么做就怎么做!

问题2:

答:肯定不用再在NAND FLASH中分出前2个区了。(请参看:修改NOR Flash分区和JFFS2文件系统支持http://www.sciencenet.cn/blog/user_content.aspx?id=332572), 哦,原来NOR Flash也可以分区的。

问题3:

答:我想,不是肯定昂?假如在/usr目录下面创建文件,那是用的“root”空间中被文件系统所用剩 的一部分空间,而不是“user”空间。

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