龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2677|回复: 2

yaffs2文件系统介绍

[复制链接]

52

主题

125

帖子

4661

积分

论坛元老

Rank: 8Rank: 8

积分
4661
发表于 2017-7-29 13:28:22 | 显示全部楼层 |阅读模式
本帖最后由 flyorange 于 2017-7-29 13:33 编辑

这几天制作根文件系统整得我够呛,毕竟是初学制作,各种不会,各种谷歌百度,害的我过情人节都在想着根文件系统!之所以写下来,主要是想把自己的制作过程记下来,防止以后工作了忘记了,二也是和大家分享,希望能对你有所帮助!本节先讲理论知识,我倒是建议本节内容你可以大致浏览,做到“知道是这么回事”的程度就可以了,在后续的制作过程中再结合实际来理解本节内容。要感谢一位DpLife的大哥啊,耐心的在QQ上给我启示,排除问题原因,好人呐。
-------
有同感
------

YAFFS目前有yaffs、yaffs2两个版本,一般来说,yaffs对小页面(512B+16B/页)的NandFlash(68M)有很好的支持,yaffs2对更大的页面(2K+64B/页)的NandFlash(128M、256M或者更大)支持更好。不得不说说这个yaffs和yaffs2,前几天学习yaffs制作的时候,我一直以为它们两个的区别蛮大的(确实有区别),但是后来才发现基本的制作过程是一样的,不一样的只是最后生成这两个版本的工具不一样!!!!yafffs由mkyaffsimage生成,而yaffs2由mkyaffs2image生成!
-----
BusyBox是一个遵循 GPLv2协议(这是依照书上打的,我可不知道这什么协议)的开源项目。有人将BusyBox比喻成Linux工具的瑞士军刀,简单的说就是Linux的一个大的工具集,包括了Linux中的大部分命令和工具。BusyBox中各种命令与相应的 GNU工具相比,所能提供的选项较少,但是能够满足一般应用。因此,BusyBox主要是为各种小型设备或者嵌入式系统提供。
-----
  Linux根文件系统中一般有如图2所示的几个目录,如下图
-----
http://blog.csdn.net/mybelief321/article/details/9995199

52

主题

125

帖子

4661

积分

论坛元老

Rank: 8Rank: 8

积分
4661
 楼主| 发表于 2017-7-29 15:05:12 | 显示全部楼层
如果使用u-boot,则要生成uImage,以下是生成uImage的方法:
  linux内核编译完成后,查看内核的elf信息:
  mipsel-linux-readelf -e vmlinux
  执行这个命令后会打印很多信息,找到Entry point这个字段,例如:
  ...
  Entry point address:               0x806632e0
  ...
  可以确认ep地址为0x806632e0,这个入口点地址在下面的制作uImage的过程中要用到。
  注意:这个地址不是固定的,更改内核配置从新编译后这个地址可能就变了,所以要根据自己编译出来的内核获取实际的地址。
  
  制作uImage:
  /home/loongson/1C/u-boot-2013.10/tools/mkimage -A mips -O linux -T kernel -C gzip -a 0x80200000 -e 0x806632e0 -n "Linux-3.x" -d arch/mips/boot/compressed/vmlinux.bin.z uImage
  
  其中/home/loongson/1C/u-boot-2013.10/tools/mkimage 是编译u-boot时候生成的工具,路径根据实际情况修改,这里u-boot源码路径是/home/loongson/1C/u-boot-2013.10/
  其中-a 0x80200000 是内核在内存中的加载地址,与arch/mips/loongson/Platform文件中的
  load-$(CONFIG_LS1B_MACH) += 0xffffffff80200000
  地址一致,一般不用修改。
  -e 0x806632e0 则是刚才使用mipsel-linux-readelf -e vmlinux查看到的入口点地址,每次编译linux内核后都查看以下这个地址,因为这个地址可能会有所变化,把新地址替换-e 0x806632e0这个地址即可。

  生成的uImage就可以在u-boot命令行下使用命令烧录到nand flash中或加载到内存中运行。

28

主题

260

帖子

17万

积分

论坛元老

Rank: 8Rank: 8

积分
170816
发表于 2017-7-30 13:17:21 | 显示全部楼层
支持楼主分享,请楼主继续……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2024-11-28 09:45 , Processed in 0.226452 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表