Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1820122
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2011-07-18 17:10:23

一、环境
Ubuntu 8.04
U-Boot 1.3.3(支持tftp)
二、过程
1、制作cramfs需要使用mkcramfs工具,首先 安装mkcramfs工具
   $sudo apt-get install cramfsprogs
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,3V 8-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 400000 200000
4、要从cramfs启动,可将u-boot的启动参数改为:
  root="/dev/mtdblock/3" rootfstype="cramfs" console="ttySAC0",115200 init="/linuxrc" noinitrd mem="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:向Nand Flash写入数据,如果NandFlash相应的区域有坏块,可以跳过坏块。
nand read:读取Nand Flash相应区域的数据,如果NandFlash相应的区域有坏块,则直接报错。
nand read.jffs2s:读取Nand Flash相应区域的数据,如果NandFlash相应的区域有坏块,将对应坏块区域的缓冲填充0xff,然后跳过此坏块继续读取。
nand read.jffs2:读取Nand Flash相应区域的数据,如果NandFlash相应的区域有坏块,直接跳过坏块。

 

阅读(702) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~