关闭

嵌入式 Linux cramfs文件系统制作工具安装

750人阅读 评论(0) 收藏 举报
分类:

一、环境
Ubuntu 8.04
U-Boot 1.3.3(支持tftp)
二、过程
1、制作cramfs需要使用mkcramfs工具,首先 安装mkcramfs工具
   $sudo apt-get installcramfsprogs
2、退到已做好的rootfs目录的上一级
   ~/rootfs$ cd ..
   $mkcramfs rootfs/rootfs.cramfs
   即可生成rootfs.cramfs
3、启动u-boot,将rootfs.cramfs下载到ram并烧写到nand flash的某个分区上。
   nand flash 的分区为:
 Creating 6 MTD partitions on "NAND 64MiB 3,3V8-bit":
 0x00000000-0x00030000 : "bootloader"
 0x00030000-0x00200000 : "kernel"
 0x00200000-0x00400000 : "ramdisk"
 0x00400000-0x00800000 : "cramfs"
 0x00800000-0x01000000 : "jffs2"
 0x01000000-0x04000000 : "data"
  我们可以将rootfs.cramfs烧写到0x400000上,对应的结点为/dev/mtdblock/3。
  tftp 32000000 rootfs.cramfs
  nand erase 400000 800000
  nand write.jffs2 32000000 400000200000
4、要从cramfs启动,可将u-boot的启动参数改为:
  root="/dev/mtdblock/3" rootfstype="cramfs"console="ttySAC0",115200 init="/linuxrc" noinitrdmem="64M"
   即可。


  如果需要在其它文件系统中挂载该cramfs文件系统,可以这样做
  #cd /tmp
  #mkdir cramfs
  #mount -t cramfs /dev/mtdblock/3 cramfs


注意:使用cramfs文件系统时,对内核进行配置时需要选上对cramfs的支持。
附:
这里说明下关于nand flash操作的几个常用命令的含义
nand write:向Nand Flash写入数据,如果NandFlash相应的区域有坏块,则直接报错。
nand write.jffs2:向NandFlash写入数据,如果NandFlash相应的区域有坏块,可以跳过坏块。
nand read:读取Nand Flash相应区域的数据,如果NandFlash相应的区域有坏块,则直接报错。
nand read.jffs2s:读取NandFlash相应区域的数据,如果NandFlash相应的区域有坏块,将对应坏块区域的缓冲填充0xff,然后跳过此坏块继续读取。
nand read.jffs2:读取Nand Flash相应区域的数据,如果NandFlash相应的区域有坏块,直接跳过坏块。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:977292次
    • 积分:17614
    • 等级:
    • 排名:第540名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论