上一篇我们已经让linux内核跑起来了,现在我们让linux内核支持yaffs2跟文件系统
首先我们要先下载 俩个源码包,一个是yaffs2的源码包,一个是已经修改好的yaffs2源码,修改好的编译时是不会报错的。
地址:1)yaffs2的源码包(yaffs2.tar) :http://download.youkuaiyun.com/detail/liuwenqiang1/5111894
2)修改好的yaffs2源码(yaffs2_ker.tar) :http://download.youkuaiyun.com/download/liuwenqiang1/5111897
3) yaffs2跟文件系统 :http://download.youkuaiyun.com/download/liuwenqiang1/5114544
第一步:
我们先将下载好的两个源码包放到你的linux上/home目录下,并在home目录下对yaffs2的源码包解压,命令如下:
tar yaffs2.tar.gz -c /root
这时你root目录下就有个名为yaffs2的目录,用cd进入该目录,你会发下有个名为patch-ker.sh的文件,执行命令:
chmod +x patch-ker.sh //向该文件添加可执行权限
./patch-ker.sh c /root/tar/linux-2.6.34.13 //这个patch-ker.sh脚本自动为你修改文件即为你的内核打补丁, /root/tar/linux-2.6.34.13 / 这个是你要编译的内核的绝对路径
这时你进入你的内核文件的fs/ (我的在/root/tar/linux-2.6.34.13/fs/)目录下会有个yaffs2的目录,我们将yaffs2这个目录删除掉(因为我们要用修改好的yaffs2的源码),命令:
rm /root/tar/linux-2.6.34.13/fs/yaffs2 -rf
现在我们回到home目录下,将修改好的yaffs2源码解解压到/root/tar/linux-2.6.34.13/fs/(内核所在目录)下,命令:
tar zxvf yaffs2_ker.tar.gz -C /root/tar/linux-2.6.34.13/fs/
这时在你的/root/tar/linux-2.6.34.13/fs/目录下就有个yaffs2的目录
回到linux-2.6.34.13 执行命令:
a) make mini2440_defconfig ARCH=arm CROSS_COMPILE=arm-linux- //用的是mini2440的配置
make menuconfig ARCH=arm CROSS_COMPILE=arm-linux- //唤出配置界面
其中有个选项为“File systems --->” 光标移动到那里回车
这里还有很多选项 其中有个为 “ [*] Miscellaneous filesystems --->” 光标移动到那里回车
这里还有很多选项 其中有个为 “<*> yaffs2 file system support” 用空格将前面的选为“*”
用方向键选择< Exit >一路 退出 并且保存
然后你就可以编译内核了,命令:
make zImage ARCH=arm CROSS_COMPILE=arm-linux-
这里还可以用图像界面的方式来配置yaffs2
先将 /root/tar/linux-2.6.34.13/arch/arm/configs/目录下的mini2440_defconfig文件拷贝到/root/tar/linux-2.6.34.13/下,命令:
cp /root/tar/linux-2.6.34.13/arch/arm/configs/mini2440_defconfig /root/tar/linux-2.6.34.13/
在执行 make xconfig ARCH=arm CROSS_COMPILE=arm-linux-
这时会出现个图形界面(和windows下的很像奥),在用这个程序将mini2440_defconfig(和windows下的一样)。同样在File systems找到Miscellaneousfilesystems,在Miscellaneous filesystems下找到 yaffs2 file system support 点上
保存推出
在执行 make zImage ARCH=arm CROSS_COMPILE=arm-linux- 编译内核
将内核烧到板子上,将我提供的跟文件系统烧到板子上,和gt2440里的烧写教程一样