站长个人入口

载入中...


公告
载入中...


我的分类(专题)
载入中...


日志更新
载入中...


最新评论
载入中...


留言板
载入中...


链接

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根文件系统:

首先要有一个其他类型的根文件系统,制作和获取方式可以参见<< AT91sam9263EK使用NFS根文件系统>>

比如可以:

mount -t cramfs rootfs_lnxdemo.cramfs tmp/  -o loop

rootfs_lnxdemo.cramfsatmel提供当然你可以自己制作,这里直接使用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根文件系统引导成功。

 

 

 

 


阅读全文 | 回复(0) | 引用通告 | 编辑
 


  • 标签:at91sam9263ek jffs2 
  • 发表评论:
    载入中...