1.
解压下载的内核源代码linux-2.6.30.4.tar.bz2.
通常解压到/usr/src/目录下,因为此处为默认的系统内核源代码的存放处。
命令是: tar �Cjxvf linux-2.6.30.4.tar.bz2 �CC /usr/src/
解压缩之后的路径是/usr/src/linux-2.6.30.4/
2.
将代码修改成arm下的内核,用命令:cd /usr/src/linux-2.6.30.4/切换到内核源代码的根目录中。修改makefile文件。在192,193行中内容修改如下:
ARCH ?= arm
CROSS_COMPILE ?=arm-linux-
之后编译生成的内核镜像就是arm平台下的内核了。
3.
下载yaffs2的文件,在www.yaffs.net,从CVS服务器下载。
然后将其解压缩到某个位置,例如/opt/中。
tar �Czxvf yaffs2.tar.gz �CC /opt/
4.
在内核源代码中的fs目录下创建一个名为yaffs2的目录作为yaffs2文件系统的目录。
将yaffs2目录中所有与支持yaffs文件系统相关的文件都复制到/linux-2.6.30.4/fs/yaffs2/中。
命令及步骤如下:
cp /opt/yaffs2/*.h /linux-2.6.30.4/fs/yaffs2/
cp /opt/yaffs2/*.c /linux-2.6.30.4/fs/yaffs2/
cp /opt/yaffs2/Makefile.kernel /linux-2.6.30.4/fs/yaffs2/Makefile
cp /opt/yaffs2/Kconfig /linux-2.6.30.4/fs/yaffs2/Kconfig
5.
在内核配置菜单中增加yaffs2的选项菜单。
修改linux-2.6.30.4/fs/Kconfig.
在文件中的source “fs/ext4/kconfig”的一行下面添加类似的一行内容:
source “fs/yaffs2/kconfig”
修改linux-2.6.30.4/fs/Makefile
在文件中的obj-$(CONFIG_EXT4_FS) += ext4/这一行下面增加类似的一行:
obj-$(CONFIG_YAFFS_FS) += yaffs2/
6.
编译内核镜像
此时在执行make menuconfig时就可以在filesystem选项中的ext4下面找到yaffs2的选项。
注意将yaffs2的选项选上并标记为“*”使之与内核编译为一体。
make zImage
执行之后,将生成一个支持yaffs文件系统的arm平台的内核镜像。