1>修改设备号:
由于ROM设备和MTDBlock设备的主设备号(major)都是31,所以如果不想把JFFS2作为根文件系统,必须修改他们之一的major。
如果你要修改JFFS2的设备major,在linux-2.4.x/include/linux/mtd/mtd.h中把
#define MTD_BLOCK_MAJOR 31
改成
#define MTD_BLOCK_MAJOR 30
如果你要修改ROM的设备major, 在linux-2.4.x/drivers/block/blkmem.c中把
#defineBLKMEM_MAJOR31
改成
#defineBLKMEM_MAJOR30
2>添加MTD设备
在uClinux-dist/vendors/Winbond/W90N740/Makefile中添加MTD的字符设备和块设备。
mtd0,c,90,0 mtd1,c,90,2 \
mtdblock0,b,30,0 mtdblock1,b,30,1 \
添加设备的数目根据你自己的需要酌情确定,另一点要说明的是:mtd字符设备次设备号(minor)偶数是可擦写的,奇数是只读的。
3>制作JFFS2文件镜像
#mkfs.jffs2 -d fs -o rootfs.jffs2 -e 0x20000
--pad=0x800000
-n
这样就会生成一个8M大小的rootfs.jffs2的镜像,它也正是JFFS2文件系统的镜像,关于这个命令行里的选项的内容,可以用man a
mkfs.jffs2命令来查看内容。
资源:
===================================================================================
JFFS2源代码情景分析Beta2 :
http://blog.csdn.net/epegasus/archive/2007/04/29/1591774.aspx
http://blog.csdn.net/luoluo0722/archive/2007/11/03/1864854.aspx
===================================================================================
阅读(602) | 评论(0) | 转发(0) |