作者:程姚根,华清远见嵌入式学院讲师。 1、zlib的编译 解压zlib-1.2.3.tar.bz2并进入zlib-1.2.3配置编译安装 $ tar xvf zlib-1.2.3.tar.bz2 $ cd zlib-1.2.3 $ ./configure $ make $ make install 2、mtd工具编译 解压mtd-snapshot-20050519.tar.bz2 并进入mtd/util编译安装 $ tar xvf mtd-snapshot-20050519.tar.bz2 $ cd mtd/util $ make $ make install 这样我们的系统里就有了mkfs.jffs2这个工具了 3、jffs2文件系统镜像制作 $ mkfs.jffs2 -r /source/rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x800000 -n (-e擦的块大小更cat /proc/mtd下面的要统一,这个参数是根据nand flash芯片手册查到的 --pad 如果根文件系统小于此参数指定的大小,那么制作成的文件系统镜像会跟指定的参数一样大。 -n指定小端模式) $ cp rootfs.jffs2 /tftpboot 4、jffs2文件系统烧写 # tftp 30008000 rootfs.jffs2 # nand erase 500000 800000 # nand write 30008000 500000 800000 5、设置u-boot启动参数 # setenv bootcmd tftp 33000000 zImage\; go 33000000 # setenv bootargs root=/dev/mtdblock2 init=/linuxrc rootfstype=jffs2 rw console=ttySAC0,115200 # savenv 6、重新启动开发板,查看是否成功 注意:如果NAND FLASH分区比jffs2文件系统镜像大,会提示一些信息,可以通过在内核中找到打印这些信息的文件(可以用grep命令在内核源码树下搜索),进入其中把相应得prink注释掉就行了。
|