mkyaffs2image工具制作及龙芯板卡使用yaffs2系统
mkyaffs2image工具制作
制作yaffs2文件系统时会用到mkyaffs2image工具,系统下默认没有这个工具,需要找到源码制作,源码如下:
http://sources.buildroot.net/yaffs2utils/0.2.9.tar.gz
下载完,解压0.2.9.tar.gz
进入目录下编译: make
编译出需要的工具 mkyaffs2、unyaffs2
sudo chmod 777 mkyaffs2
sudo chmod 777 unyaffs2
sudo cp mkyaffs2 unyaffs2 /usr/bin/
sudo mkyaffs2
mkyaffs2 0.2.9 - A utility to make the yaffs2 image
Usage: mkyaffs2 [-h|--help] [-e|--endian] [-v|--verbose]
[-p|--pagesize pagesize] [-s|sparesize sparesize]
[-o|--oobimg oobimage] [--all-root] [--yaffs-ecclayout]
dirname imgfile
Options:
-h display this help message and exit.
-e convert endian differed from local machine.
-v verbose details instead of progress bar.
-p pagesize page size of target device.
(512|2048(default)|4096|(8192|16384) bytes)
-s sparesize spare size of target device.
(default: pagesize/32 bytes; max: pagesize)
-o oobimage load external oob image file.
--all-root all files in the target system are owned by root.
--yaffs-ecclayout use yaffs oob scheme instead of the Linux MTD default.
表明安装成功,同时也可以看到该命令的用法
例如:mkyaffs2 -p 4096 -s 128 --yaffs-ecclayout rootfs/ rootfs.img
龙芯板卡使用yaffs2文件系统
假设nand分两个分区,内核放到mtd0分区;呀文件系统放到mtd1分区;用uart0
A、启动到pmon命令行下,通过tftp或者U盘将内核放到指定分区里
PMON> mtd_erase /dev/mtd0r
PMON> devcp tftp://ip/vmlinux /dev/mtd0
B、将yaffs2文件系统镜像rootfs.img放到指定分区里
PMON> mtd_erase /dev/mtd1r
PMON> devcp tftp://ip/rootfs.img /dev/mtd1y
C、设置环境变量
PMON> set al /dev/mtd0 或 set al1 /dev/mtd0
PMON> set append "console=ttyS0,115200 init=/linuxrc rw root=/dev/mtdblock1 rootfstype=yaffs2"
D、重新上电