AT91sam9263EK使用JFFS2根文件系统

导读:
  cbuilder@peoplemail.com.cn
  在AT91sam9263EK成功配置了NFS根文件系统后,后来又想把JFFS2也移植到AT91sam9263EK上吧,说干就干。
  1. 呵呵,其实很简单我使用的linux-2.6.20内核里已经有jffs2 文件系统支持,选上jffs2即可
  File systems --->
  Miscellaneous filesystems --->
  <*>Journalling Flash File System v2 (JFFS2) support
  (0) JFFS2 debugging verbosity (0 = quiet, 2 = noisy)
  [*] JFFS2 write-buffering support
  [*] JFFS2 summary support (EXPERIMENTAL)
  [*] JFFS2 XATTR support (EXPERIMENTAL)
  [*] JFFS2 POSIX Access Control Lists
  [*] JFFS2 Security Labels
  [*] Advanced compression options for JFFS2
  [*] JFFS2 ZLIB compression support
  [*] JFFS2 RTIME compression support
  [ ] JFFS2 RUBIN compression support
  JFFS2 default compression mode (priority)
  选上MTD支持
  Device Drivers --->
  Memory Technology Devices (MTD) --->
  <*>Memory Technology Device (MTD) support
  [ ] Debugging
  <*>MTD concatenating support
  [*] MTD partitioning support
  <>RedBoot partition table parsing
  [*] Command line partition table parsing
  <*>ARM Firmware Suite partition parsing
  --- User Modules And Translation Layers
  <*>Direct char device access to MTD devices
  <*>Caching block device access to MTD devices
  <*>FTL (Flash Translation Layer) support
  <*>NFTL (NAND Flash Translation Layer) support
  [ ] Write support for NFTL
  
  2. 从ttp://www.linux-mtd.infradead.org/上下载
  mtd-utils-1.0.0.tar.gz 到宿主机。
  解压
  tar xvzf mtd-utils-1.0.0.tar.gz
  进入mtd-utils-1.0.0目录修改Makefile进行编译。
  编译出mkfs.jffs2,nandwrite等工具
  
  3. 创建jffs2根文件系统:
  首先要有一个其他类型的根文件系统,制作和获取方式可以参见<
  比如可以:
  mount -t cramfs rootfs_lnxdemo.cramfs tmp/ -o loop
  rootfs_lnxdemo.cramfs由atmel提供当然你可以自己制作,这里直接使用atmel的省去了制作的麻烦。
  tar czvf target.tar.gz tmp/
  生成jffs2根文件系统镜像:
  mkfs.jffs2 –l –s 0x400 –e 0x20000 –d tmp/ -o target.jffs2
  4. 烧写jffs2根文件系统镜像到nand flash。
  烧写方法应该有多种常用的有2种(呵呵自己认为的):
  a.通过nand编程器烧写镜像文件到nand flash芯片然后再焊接到pcb.
  b.挂载nfs文件系统,使用nandwrite工具写镜像文件
  到mtd设备。
  第一种适合生产时使用,而我们测试时候比较适合使用第二种方式。
  挂载nfs文件系统:
  nandwrite –o /dev/mtd1 target.jffs2
  或者是在nfs 根文件系统下:
  mount –t jffs2 /dev/mtdblock1 /mnt
  cd /mnt
  tar xvzf ../target.tar.gz
  umount /mnt
  5. 配置内核启动参数如下:
  setenv bootargs mem=64M console=ttyS0 115200 root=/dev/mtdblock1 rootfstype=jffs2 rw
  6. 重新启动,呵呵内核使用jffs2文件系统自动挂载根文件系统到mtdblock1设备上。
  ls 测试一下
  vi test
  hello this is for test jffs2 filesystem.
  保存退出。
  Sync
  重新启动
  vi test
  内容依旧。
  Ok jffs2根文件系统引导成功。

本文转自
http://blog.21ic.com/user1/765/archives/2007/38548.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值