制作yaffs2文件系统并移植到ok6410开发板上

首先用busybox制作根文件系统,参考我之前的博客:http://blog.csdn.net/start530/article/details/8018170

yaffs2源码下载:http://download.csdn.net/detail/chenxh/4186203

1.解压: tar -jxvfyaffs_source_util_larger_small_page_nand.tar.bz2 生成了一个[yaffs2]文件夹

第2、3步的前提是你内核里不支持yaffs2文件系统,及在内核/fs/下没有一个yaffs2目录。

2.拷贝[yaffs2]文件夹至Kernel根目录下的[fs]文件夹下: cp yaffs2 /usr/src/linux-2.6.36/fs/

3.操作: ./patch-ker.sh c /usr/src/linux-2.6.36/[这个是我Kernel的根目录的路径,请按照你的进行修改]

上面命令完成下面三件事:

(1)修改内核fs/Kconfig

增加一行:source"fs/yaffs2/Kconfig"

(2)修改内核fs/Kconfig

增加一行:ojb-$(CONFIG_YAFFS_FS)+=yaffs2/

(3)在内核fs/目录下创建yaffs2目录

将yaffs2源码目录下面的Makefile.kernel文件复制为内核fs/yaffs2/Makefie;

将yaffs2源码目录的Kconfig文件复制到内核fs/yaffs2目录下;

将yaffs2源码目录下的*.c*.h文件复制到内核fs/yaffs2目录下.

4.进入Kernel根目录: cd/usr/src/linux-2.6.36/

5.操作: make menuconfig 进入内核设置界面

6.进入主界面的File systems --->

7.进入:[*] Miscellaneous filesystems --->

8.选中:<*> YAFFS2 file system support

9.保存&退出.

使用以下命令安装好yaffs文件系统制作工具:

mkyaffs2image 可执行文件是使用 Linux3.0 源代码目录 yaffs2 文件夹下 util s

目录中的 mkyaffs2image.c 文件编译出来的,如果您有兴趣可以自己制作适合 256MB

NandFlash 和 2G NandFlash 的 Yaffs2 工具。

在/nfsroot/目录下,使用命令mkyaffs2imagerootfsrootfs.img生成根文件系统映像文件。

烧写:

设置uboot:

首先来看下我的分区表:(在开发板启动内核的时候会看到下面这几行)

0x000000000000-0x000000100000 : "Bootloader"

0x000000100000-0x000000600000 : "Kernel"

0x000000600000-0x000007e00000 : "User"

0x000007e00000-0x000080000000 : "File System"

setenv bootargs root=/dev/mtdblock3 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200

Setenv bootcmd

Printenv

Saveenv

用tftp下载zImage跟rootfs.img,并写入nand flash

zImage:

Tftp 50008000 zImage

Nand erase 100000 500000

Nand write.e 50008000 100000 500000

rootfs.img:

Tftp 50008000 rootfs.img

Nand erase 7e00000 8000000

Nand write.e 50008000 7e00000 8000000

重启。

*************************************************************************************

如果要修改uboot的bootargs跟bootcmd的话,

在开发板带的uboot1.16里的include/configs/smdk6410.h

#define CONFIG_BOOTCOMMAND "nand read 0xc0008000 0x100000 0x300000;bootm 0xc0008000"

#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=yaffs2 console=tty0 console=ttySAC0,115200"

//#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=cramfs console=ttySAC0,115200"

保存后重新编译uboot,

Make smdk6410_config

make;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值