2010年(49)
分类: 嵌入式
2010-09-07 15:20:54
前言
首先阅读一些denx的DULG中的RootFileSystemOnAJFFS2FileSystem部分。
1 制作
使用mkfs.jffs2命令制作,该命令在/eldk4.2/usr/bin目录下
mkfs.jffs2 -U -r ./jffs2 -o fs.jffs2 -b -e 0x10000 --pad=0x380000
各参数的意义:
–r 指定要做成image的原文件夹
-o 指定生成的image的文件名
-e block size,我理解就是flash的扇区大小,我用的AM29LV320MB,扇区大小为64kb
-b big-endian,注意,我在MPC859上实验,必须用-b,用-l就是little endian,结果在u-boot下看不到目录结构
--pad 指定jffs2文件系统的大小
2 jffs2文件系统的挂载
注意,想在x86架构下的linux服务器上挂载jffs2,那么制作jffs2时,必须使用-l而不是-b选项。
请载入以下modules
modprobe mtdcore//Fedora下可能出错可以改成modprobe mtd
modprobe jffs2
modprobe mtdram
modprobe mtdchar
modprobe mtdblock
确认以上modules会产生/dev/mtd0 及/mtd/mtdblock0目录
dd if=/jffs2.img of=/dev/mtd0
mount –t jffs2 /dev/mtdblock0 /mnt
按照上面的操作如果出现还是不能mount的情况需要先执行一下下面语句
modprobe mtdram total_size=32768 erase_size=256