Linux根文件系统镜像制作工具--mkfs编译

开发环境:
系统环境:龙芯1B开发板(mips32指令集)Linux3.0.0内核
编译环境:ubuntu10.04 ,gcc-3.4.6-2f
 
1.mkcramfs工具
打开地址:http://sourceforge.net/projects/cramfs/,下载cramfs-1.1.tar.gz
#tar zxf cramfs-1.1.tar.gz
#cd cramfs-1.1
#make (编译完成后,在本地目录生成mkcramfs工具)
#./mkcramfs /root/rootfs rootfs-cramfs.img (其中:/root/rootfs为根文件系统路径;rootfs-cramfs.img为生成的cramfs镜像文件)
Cramfs文件系统烧写:
1、配置开发板烧写环境,进入pmon命令行
2、烧写系统:
     # devcp tftp://192.168.*.***/rootfs-cramfs.img /dev/mtd1 (其中:192.168.*.***为主机IP)
 
2.mkyaffs工具
打开地址:http://www.aleph1.co.uk/gitweb?p=yaffs2.git;a=summary,下载最新的yaffs工具包:yaffs2-d431901.tar.gz。(备注:序列号可能不同)
#tar zxf yaffs2-d431901.tar.gz
#cd yaffs2-d431901
#cd utls/
#make  (编译完成后,在本地目录生成yaffs工具mkyaffsimage与mkyaffs2image)
#./mkyaffs2image /root/rootfs rootfs-yaffs2.img  (本地目录生成yaffs2镜像文件rootfs-yaffs2.img)

若系统空间太大,制作镜像时会出现:“Not enough space in object array ”的错误。

原因是yaffs2源码yaffs2/utils/mkfsyaffs2image.c

#define MAX_OBJECTS 10000

将其值修改为100000冲编译即可。


Yaffs2文件系统烧写:
1、配置开发板烧写环境,进入pmon命令行
2、擦除分区1:
     # mtd_erase /dev/mtd1
3、烧写系统:
     # devcp tftp://192.168.*.***/rootfs-yaffs2.img /dev/mtd1 yaf nw
 
3.mkjffs工具
打开地址:ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.0.0.tar.gz,下载mtd-utils-1.0.0.tar.gz工具包。
# tar zxf mtd-utitls-1.0.0
# make (编译完成后,本地目录生成jffs工具mkfs.jffs与mkfs.jffs2)
#./mkfs.jffs2 -r /root/rootfs -o rootfs-jffs2.img -e 0x4000 --pad=0x800000 -n (本地目录生成jaffs2镜像文件rootfs-jffs2.img,-e表示擦除块的大小,--pad表示要创建的文件系统大小)
Jaffs2文件系统烧写:
1、配置开发板烧写环境,进入pmon命令行
2、烧写系统:
     # devcp tftp://192.168.*.***/rootfs-jffs2.img /dev/mtd1

你可能感兴趣的:(Linux文件系统)