Linux2.6.32移植到MINI2440(3)支持yaffs2文件系统

来源:互联网 发布:怎么没人去淘宝打假 编辑:程序博客网 时间:2024/06/11 08:03

开发环境:

    主机:fedora 14

    虚拟机:vmware workstation 10

    交叉编译工具:arm-linux-gcc 4.3.2

    开发板:mini2440(2m nor ,64m sdram,256m nand)

 

一、获取yaffs2源码

   我这里是从友善之臂的光盘里有一个压缩包,不过是zip格式的,可以在windows下解压,然后直接拷贝里面的yaffs2到虚拟机里面。

    也可以使用git直接输入:git clonegit://www.aleph1.co.uk/yaffs2

    我这里没有成功,也安装了git了,git –version显示1.7.3.1版本,错误提示为:fatal:unable to look up www.aleph1.co.uk(port 9418).这个错误暂时略过。因为可以用另一种方法获得yaffs2,先完成实验。

 

二、打补丁

    #cd yaffs2

    #./patch-ker.sh c ../linux2.6.32.2

    成功会提示如下,并在fs下看到yaffs2的目录:

    这一步主要做了两件事:

 (1)修改内核fs/Kconfig

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

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

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

将yaffs2源码目录下的Makefile.kernel复制为fs/yaffs2/Makefile

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

 

三、配置内核

    #makemenuconfig

    Filesystems -à

       [*]Miscellaneousfilesystems -à

       选上

       <*>YAFFS2file sysytem support

 

四、编译测试

    #make zImage

    将生成的内核./mkz2uimage打包成uImage

    #cp uImage /tftpboot/

    开发板从nand启动,进入u-boot命令行。

    #tftp 0x30008000 uImage

    #nand erase 0x60000 0x500000

    #nand write 0x30008000 0x60000 0x500000

    #boot

    成功以后就会进入控制台,如下:

 

五、注意事项

    这里是默认你在nand分区的mtdblock3下烧写了yaffs2文件系统的,也就是从0x560000开始的部分,这里我用的是我之前制作的rootfs,使用友善提供的mkyaffs2image-128M打包制作成的yaffs2文件系统。具体制作方法和步骤请参照《【申嵌培训】嵌入式linux根文件系统构建步骤(linux2.6.32.2)》里面讲的还算比较清楚。这篇帖子就到这里吧,这样友善的手册也结束了。如有不当还请指出,大家共同进步。

0 0