`
king_tt
  • 浏览: 2110323 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

构造根文件系统四之制作使用 yaffs文件系统映像文件

 
阅读更多

所谓的制作文件系统映像文件,就是将一个目录下的所有内容按照一定的格式存放到一个文件中,这个文件可以直接烧写到存储设备上去。当系统启动后挂接这个设备,就可以看到原来目录一样的内容。制作不同类型的文件系统映像文件需要使用不同的工具。

1、修改制作 yaffs映像文件的工具

首先声明,我也是初次学习制作根文件系统,完全是比着葫芦画剽,照着韦老师的教程写的,至于为什么要修改,是为了适应他之前编译的linux2.6.22.内核,不过不要紧,重要的是先熟悉流程,废话不多说,我也不进行修改,因为我用的内核不是他的,先生成yaffs映像文件再说。

制作 yaffs映像文件的工具名叫 mkyaffsimage ,可以通过在yafs源码包内make获取。yaffs源码包点此下载

2、下图为我将此yaffs源码包的存放位置。

3、执行命令:tar -xzvf yaffs_source.tar.gz 解压源码包

4、咱们可以看到此时解压的文件夹为 Development

执行命令:cd Development/yaffs2/utils/

在这个目录中,存放的是工具 mkyaffsimage 和 mkyaffs2imag 的源代码,前者用来制作 yaffs1 映像文件,后者用来制作yaffs2映像文件。

同时,我先声明一点,我只能保证生成yaffs映像文件,并不能保证生成的映像文件能在我的mini2440板子上运行,因为我也是初学,写这博文主要是为了熟悉流程,具体的生成适合自己板子的还要加以配置,我一定会弄出来的!

现在,暂不修改。

执行命令:make 编译生成mkyaffsimage工具

现在可以看到生成了mkyaffsimage工具了

5、执行命令:sudocp mkyaffsimage /usr/local/bin/ 将该工具复制到 /usr/local/bin 目录

6、执行命令:sudo chmod +x /usr/local/bin/mkyaffsimage

7、现在可以制作yaffs映像文件了

执行命令:cd /home/song/nfs_root

执行命令:mkyaffsimage fs_mini fs_mini.yaffs 可以看到生成了yaffs镜像文件

8、此时你可以利用uboot控制界面将 fs_mini.yaffs下载、烧如Nand Flash了,操作命令如下

执行命令: tftp fs_mini.yaffs

可以看到,下载根文件系统完毕。

执行命令:nand erase 0x580000 0xfa80000#擦除此区域,nand使用之前需要先擦除,以便接下来将fs_mini.yaffs保存到这个地址处

执行命令:nand write.yaffs 0x30008000 0x580000 0xdbb040

现在可以修改命令行参数以MTD2分区作为根文件系统,比如在 U-bood控制界面如下设置

[u-boot@MINI2440]# set bootargs noinitrd console=ttySAC0 root=/dev/mtdblock2 rootfstyle=yaffs

[u-boot@MINI2440]# saveenv

到这里已经完成了,虽然制作出了根文件系统yaffs格式,但是并没有在我的板子上启动起来,结果不出所料,失败的原因就是还没有正确配置根文件系统,并且没有考虑移植的内核。接下来的任务就是好好学学怎么样配置。加油!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics