1.1 内核支持
在内核配置菜单中添加如下选项:
A 在Memory Technology Devices (MTD)选项中进行配置:
Memory Technology Device (MTD) support[Y/m/n/?] Y 内存技术设备支持
MTD partitioning support [Y/m/n/?] Y 支持MTD分区
Direct char device access to MTD devices[Y/m/n/?] Y MTD字符设备直接访问
Caching block device access to MTD devices[Y/m/n/?] Y MTD块设备缓冲访问
B 在File Systems选项中进行配置:
Compressed ROM file system support [Y/m/n/?] Y ROM文件系统的支持
在内核配置选项选择以上选项后,生成的内核文件已支持cramfs文件系统;
1.2制作Cramfs文件系统的工具
服务器上自带的mkfs.cramfs工具支持镜像文件里最大为16M的单个文件。因/bin/httpd,/bin/configserver等文件超过了16M,用下面介绍的方法来制作根文件系统的镜像文件。
从http://sourceforge.net/projects/cramfs/下载cramfs-1.1.tar.gz,解压缩后,修改cramfs-1.1/linux/ cramfs_fs.h
CRAMFS_SIZE_WIDTH 24 修改成CRAMFS_SIZE_WIDTH 28
内核也要修改,才能匹配:
修改include/linux/cramfs_fs.h
CRAMFS_SIZE_WIDTH 24 修改成CRAMFS_SIZE_WIDTH 28
这样可以最大支持256M,实际上,上面的参数我现在改成的是26,即支持单个文件最大不超过64M,目前够用。然后重新编译,会生成mkcramfs和cramfsck两个工具。用生成的mkcramfs程序生成cramfs的根文件系统即可