1.解压下载的内核源代码linux-2.6.30.4.tar.bz2.
 通常解压到/usr/src/目录下,因为此处为默认的系统内核源代码的存放处。
命令是: tar –jxvf linux-2.6.30.4.tar.bz2 –C /usr/src/
解压缩之后的路径是/usr/src/linux-2.6.30.4/
2.将代码修改成arm下的内核,用命令:cd /usr/src/linux-2.6.30.4/切换到内核源代码的根目录中。修改makefile文件。在192193行中内容修改如下:
    ARCH    ?= arm
    CROSS_COMPILE ?=arm-linux-
之后编译生成的内核镜像就是arm平台下的内核了。
3.下载yaffs2的文件,在www.yaffs.net,CVS服务器下载。
  然后将其解压缩到某个位置,例如/opt/中。
   tar –zxvf yaffs2.tar.gz –C /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平台的内核镜像。