1. 建立脚本文件make-yaffs2-dir.sh 内容如下
#!/bin/sh echo "------Create rootfs directonsstart...--------" mkdir rootfs cd rootfs echo "--------Createroot,dev....----------" mkdir root dev etc boot tmp var sys proclib mnt home usr mkdir etc/init.d etc/rc.d etc/sysconfig mkdir usr/sbinusr/bin usr/lib usr/modules echo "makenode in dev/console dev/null" mknod -m 600dev/console c 5 1 mknod -m 600dev/null c 1 3 mkdir mnt/etcmnt/jffs2 mnt/yaffs mnt/data mnt/temp mkdir var/libvar/lock var/run var/tmp chmod 1777 tmp chmod 1777 var/tmp echo "-------make directiondone---------"
2. 执行该脚本,那么我们的文件系统的框架就基本搭建完毕。
3. 进入内核目录linux3.0.01,进行内核模块编译并且安装,内核模块
make modules
make modules install INSTALL_PATH=/home/shopping/work/kernel/rootfs(路径)
到这里为止,内核模块将会被编译进文件系统中
4. 接下来就是编译/安装busybox了,首先在这个网站下载busybox
http://www.busybox.net/我下载的版本为busybox-1.15.2.tar.bz2
5. 类似于之前对kernel和uboot的修改,修改顶层目录的交叉编译器和架构,如下图
红色箭头部分就是需要修改的地方
6. 同样,使用make menuconfig来配置busybox,Busybox Settings --->Build Options --->Cross Compilerprefix 中输入arm-linux- ,并且勾选上静态方式编译 如下:
7. Busybox Settings --->Installation Options ---> BusyBox installation prefix
选择安装的路径,这里当然是安装到我们刚刚指定的rootfs的路径下面去
8. 正式安装编译,执行命令 make 然后执行 make install
到这里为止文件系统,这部分基本上是完成了。
8. 重要的一步就是,使用工具将我们的文件系统编译成镜像文件,这里我使用的是开发板自带的工具mkyaffs2image-nand2g
最终会生成一个rootfs.yaffs2文件系统。