UT6410 Linux 2.6.24 YAFFS2做根文件系统方法


ut6410开发板自带的是cramfs文件系统作为根文件系统使用的,该文件系统只读,为了调试方便,将其改为yaffs2,具体方法为:

1、yaffs2文件系统内核支持,参见《Linux下YAFFS2 移植步骤》:

完成之后,make bzImage,然后在板子上启动新编译的内核,

cat /proc/filesystems
。。。。。。。。。

vfat
nodev nfs
nodev jffs2
romfs
yaffs
yaffs2
nodev rpc_pipefs

说明文件系统包含正确。

2、编译mkyaffs2image

在下载的yaffs2源码的util2目录里make,生成mkyaffs2image,最好使用自己生成的mkyaffs2image,否则可能会有一些莫名其妙的错误。

3、开发板环境设置:

首先查看flash分区信息:

0x00000000-0x00100000 : "Bootloader"

0x00100000-0x00300000 : "Kernel"

0x00300000-0x03300000 : "Root-Cramfs"

0x03300000-0x10000000 : "File System"
因此将最后一个分区作为yaffs分区使用。

首先制作yaffs2根文件系统镜像:

./mkyaffs2image root_fs_2.6.25.8_ccid rootfs_yaffs.img

然后设置板子bootargs:

SMDK6410 # setenv bootargs root=/dev/mtdblock3 rootfstype=yaffs init=/linuxrc console=ttySAC0,115200

SMDK6410 # saveenv

然后下载制作的镜像,烧写flash:

SMDK6410 # nand erase 3300000 cd00000

SMDK6410 # dnw c0008000

SMDK6410 # nand write c0008000 3300000 1c2c900

4、执行

如果成功,系统可以正常加载根文件系统:

yaffs: dev is 32505859 name is "mtdblock3"

yaffs: passed flags ""

yaffs: Attempting MTD mount on 31.3, "mtdblock3"

yaffs: auto selecting yaffs2

yaffs_read_super: isCheckpointed 0

VFS: Mounted root (yaffs filesystem).

相关内容