- 论坛徽章:
- 0
|
AT91sam9263EK使用JFFS2根文件系统
OneWind 发表于 2007-6-1 16:40:00
AT91sam9263EK使用JFFS2根文件系统
张驿风
2007-6-1
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根文件系统引导成功。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/27204/showart_367635.html |
|