1.内核支持:
CONFIG_CRAMFS=y
2.制作文件
1)获取mkcramfs工具
如果是ubuntu的话: apt-get install mkcramfs
否则从 http://sourceforge.net/projects/cramfs/ 下载源码编译
2)制作cramfs文件镜像
mkcramfs ./rootfs rootfs.cramfs
3.uboot烧写cramfs文件到nand的分区
tftp $loadaddr rootfs.cramfs
nand erase [addr] [size]
--- addr 为cramfs分区的起始地址
--- size 为cramfs分区的大小
nand write $loadaddr [addr] $filesize
--- 把文件烧写到nand里面去
setenv bootargs console=ttyS0,115200n8 init=/init rw root=1f04 rootfstype=cramfs
--- 1f04代表nand的第四个分区, 我这使用的是这个分区.
boot
如果运气的好的话,cramfs能起来了。
4. 如果遇到如下错误:
1) cramfs: bad root offset 108
可能是uboot烧写nand使用的ecc与内核使用的ecc不一致造成的。
2) cramfs: bad compressed blocksize 3822651956