YAFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39)

11 篇文章 0 订阅
10 篇文章 0 订阅

1. YAFFS2文件系统配置

a) YAFFS2源码下载地址

        yaffs2-HEAD-4e188b0.tar.gzhttp://www.yaffs.net/download-yaffs-using-git    (http://pan.baidu.com/s/1jG7OAP4


b) 解压源码

        # tar -xvf yaffs2-HEAD-4e188b0.tar.gz -C ./


c) 为内核打YAFFS2补丁

        # cd yaffs2-HEAD-4e188b0/

        # ./patch-ker.sh  c m ../linux-2.6.39/


d) 配置内核

        # make menuconfig

        File systems  ---> 

                [*] Miscellaneous filesystems  --->

                        <*>   yaffs2 file system support


e) 编译内核

        # make uImage

        将生成的内核下载到开发板中运行,使用以下命令可以查看内核支持的文件系统类型,可看到现在内核已经可以支持yaffs、yaffs2文件系统了。

        # cat /proc/filesystems


f) 通过mount挂载yaffs2文件系统

        # mount -t yaffs2 /dev/mtdblock3 /mnt    //挂载文件系统

        如下图所示,成功挂载YAFFS2文件系统后,使用ls命令查看mnt目录,里面包含有完善的一个root文件系统,这个文件系统是友善的文件系统,之前一直就保存在NAND中。

 


2. YAFFS2文件系统映像制作

a) 源码下载

        yaffs2-HEAD-4e188b0.tar.gz:http://www.yaffs.net/download-yaffs-using-git

                                                            (http://pan.baidu.com/s/1jG7OAP4


b) 编译镜像制作工具

        # cd yaffs2-HEAD-4e188b0/utils/

        # vim Makefile      //增编译选项(以下红色字体)

        CFLAGS =    -O2 -Wall -DCONFIG_YAFFS_UTIL -DCONFIG_YAFFS_DEFINES_TYPES


c) 制作文件系统镜像

        # ./mkyaffs2image NFS/ fs.yaffs2

        最后发现直接从YAFFS2源码编译的mkyaffs2image工具生成的文件系统映像不能使用,使用友善提供的mkyaffs2image-128M生成的即可。关于mkyaffs2image工具的修改本文档不作说明,可参考网上的教程进行修改。


d) 测试镜像

        可通过super vivi的y命令将fs.yaffs2下载到NAND的第三分区,然后使用以下命令挂载mtdblock3至mnt目录,查看mnt目录下是否有一个完整的根文件系统。

        # mount -t yaffs2 /dev/mtdblock3 /mnt

 

e) 通过MTD工具烧写镜像

        注意,这些工具不能使用busybox自带的,里面自带的功能不全。

        # ./mtd_tools/flash_eraseall /dev/mtd3

        # ./mtd_tools/nandwrite -a -o /dev/mtd3 fs.yaffs2 

        # mount -t yaffs2 /dev/mtdblock3 /mnt 

        通过mount挂载yaffs2文件系统mtd3分区到/mnt上,可以正常挂载,说明烧写成功。


f) 通过YAFFS2启动根文件系统

        现在已经将YAFFS2文件系统烧写到NAND的mtd3分区,可以修改LINUX的启动参数,让YAFFS2文件系统作为LINUX的根文件系统。

        进入U-BOOT命令行模式,修改启动参数如下即可。

        # setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0  rootfstype=yaffs2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值