编译制作(arm格式的)jffs2文件系统工具(mtd-snapshot-20050519.tar.bz2)

1.首先安装zlib-1.2.3.tar.gz

从网上下载zlib-1.2.3.tar.gz 解压缩 $ cd zlib-1.2.3

$ ./configure --prefix=/usr/local/arm/3.4.1/arm-linux --shared
修改Makefile如下:
CC=arm-linux-gcc(注意这里是给开发板上启动操作系统后在开发板上用,所以用交叉链编译)
LDSHARED=arm-linux-ld -shared(共享库形式)
$ make all

$ make install

2.安装mtd工具

从网上下载 mtd-snapshot-20050519.tar.bz2 解压缩

$ cd mtd/util
修改该目录下的Makefile:
CROSS=arm-linux-

Makefile如下:
SBINDIR=/usr/sbin
MANDIR=/usr/man
INCLUDEDIR=/usr/include:/usr/local/include
CROSS=arm-linux-
CC := $(CROSS)gcc
CFLAGS := -I../include -O2 -Wall
LDFLAGS := -L/home/jimmy/usr/local/arm/3.4.1/lib(里面有libz.so)


$ make all

$ make install


3.制作和挂载文件系统

然后将该目录下生成的
flash_erase,flash_eraseall, mkfs.jffs2工具放在ramdisk 文件系统中(我这里放在/bin目录下),另外在 ramdisk文件系统的dev目录下要确保有mtd0~mtd9,mtdblock0~mtdblock9这些设备,如果没有可参考 ramdisk文件系统的制作,也可从pc机相同目录下拷贝,要加上文件属性。
    另外,需要将/arm-linux/lib目录下的libz.so, libz.so.1,
libz.so.1.2.3文件拷贝到ramdisk文件系统的/lib目录下,否则mkfs.jffs2工具不能使用。
最后将新生成的uImage和ramdisk文件下载到板子上,起动系统,使用命令 cat /proc/mtd 能看到
dev: size erasesize name
mtd0: 00040000 00020000 "Partition 1"
mtd1: 0ffc0000 00020000 "Partition 2"
mtd2: 00420000 00000210 "spi0.0-AT45DB321x"

    这里mtd0,mtd1nandflash上的分区; mtd2是dataflsh上的分区,该分区上放有uboot,uImage.img,ramdisk.img,所以我们这里能使用空的nandflash上的两个分区。使用之前要先用工具flash_erase或flash_eraseall擦除nandflash,具体使用的步骤如下:
# flash_erase /dev/mtd1
制作jffs2映像
# cd /var/tmp
# mkdir jffs2   (jffs2下的目录能任意建)
# mkfs.jffs2 -d jffs2/ -o jffs2.img
# cp /var/tmp/jffs2/jffs2.img /dev/mtdblock1

最后


  • # mount -t jffs2 /dev/mtdblock1 /mnt/mtd 即可
  • 使用结束可使用 $ umount /mnt/mtd 卸载.
      如果只是当作普通的jffs2 来使用dataflash或nandflash,可不必制作 jffs2映像,只需要最后一步
    # mount -t jffs2 /dev/mtdblock1 /mnt/mtd即可


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值