JFFs2文件系统的重新定制
来源:互联网 发布:mysql if exists用法 编辑:程序博客网 时间:2024/06/05 06:52
项目应用中,对于前人留下的JFFS2的文件,有时候我们需要修改,但是苦于没有源文件,实际操作很多时候无所适从。每次支持生产之后再进行人为的升级。这样费时费力,也给生产人员增加了负担。
为了解决这个问题,参考了一些资料,总算解决了这个问题!
基本的原理就是:
1. linux支持mount JFFS2到本地目录
2. 这是一个完整的文件目录,我们可以修改mount后的文件目录,修改完成之后,重新使用mkfs.jffs2工具打包即可。
Ubuntu下对jffs2的修改:
0. 在线安装工具:
apt-getinstall mtd-tools
1. 挂载文件系统
mount一个jffs2文件系统过程:
#创建MTD设备:
modprobe -v mtdmodprobe -v jffs2modprobe -v mtdram total_size=10000 erase_size=128 (单位:K)modprobe -v mtdcharmodprobe -v mtdblock
#擦除mtd0:
flash_eraseall /dev/mtd0
#用dd命令装入mtd0分区:
dd if=rootfs.jffs2 of=/dev/mtd0
#新建一个挂载点:
mkdir fsmount
#用mount挂载jffs2文件系统:
mount -t jffs2 /dev/mtdblock0 fsmount
#用umount卸载:
umount fsmount2. 修改文件系统
成功挂在jffs2之后便可以对立面的内容进行修改,如添加和删除文件、修改文件等。比如我们要增加一个helloworld的文件,操作如下:
cp helloword fsmountsync3. 重新生成jffs2文件系统
mkfs.jffs2 -r fsmount -o rootfs_new.jffs2 -e 0x20000 --pad=0x800000 -n这里指定的块大小是:128K
4. 用mtdinfo命令可以查看文件系统的信息mtdinfo /dev/mtd0mtd0Name: mtdram test deviceType: ramEraseblocksize: 131072 bytes, 128.0KiBAmount oferaseblocks: 78 (10240000 bytes,9.8 MiB)Minimuminput/output unit size: 1 byteSub-pagesize: 1 byteCharacterdevice major/minor: 90:0Bad blocksare allowed: falseDevice iswritable: true5. 附记
挂载文件之后如果要重新挂载,可以先umount,之后擦除
umount fsmountflash_eraseall /dev/mtd0
Ubuntu下对jffs2的修改:
0. 在线安装工具:
apt-getinstall mtd-tools
1. 挂载文件系统
mount一个jffs2文件系统过程:
#创建MTD设备:
modprobe-v mtd
modprobe-v jffs2
modprobe-v mtdram total_size=10000 erase_size=128 (单位:K)
modprobe-v mtdchar
modprobe-v mtdblock
#擦除mtd0: flash_eraseall /dev/mtd0
#用dd命令装入mtd0分区: ddif=rootfs.jffs2 of=/dev/mtd0
#新建一个挂载点: mkdir fsmount
#用mount挂载jffs2文件系统: mount -t jffs2 /dev/mtdblock0fsmount
#用umount卸载: umountfsmount
#可以删除MTD模块: modprobe –r xx(xx)
2. 修改文件系统
成功挂在jffs2之后便可以对立面的内容进行修改,如添加和删除文件、修改文件等。比如我们要增加一个helloworld的文件,操作如下:
cp hellowordfsmount
sync
3. 重新生成jffs2文件系统
mkfs.jffs2 -r fsmount -o rootfs_new.jffs2 -e 0x20000 --pad=0x800000 -n
4. 用mtdinfo命令可以查看文件系统的信息
mtdinfo /dev/mtd0
mtd0
Name: mtdram test device
Type: ram
Eraseblocksize: 131072 bytes, 128.0KiB
Amount oferaseblocks: 78 (10240000 bytes,9.8 MiB)
Minimuminput/output unit size: 1 byte
Sub-pagesize: 1 byte
Characterdevice major/minor: 90:0
Bad blocksare allowed: false
Device iswritable: true
5. xx
0 0
- JFFs2文件系统的重新定制
- jffs2 文件系统的问题
- jffs2文件系统的制作
- jffs2文件系统的制作
- jffs2文件系统的制作
- JFFS2文件系统的移植
- JFFS2 文件系统的工作原理
- 制作Jffs2格式的文件系统
- jffs2根文件系统的制作
- ls1021atwr的jffs2文件系统配置
- JFFS2 文件系统的工作原理
- 【原创】Linux 系统移植日志----jffs2文件系统定制
- #AT91SAM9260 linux 系统移植日志------jffs2文件系统定制
- jffs2 文件系统
- 嵌入式linux下jffs2文件系统的实现
- jffs2文件系统不支持export的问题
- 嵌入式Linux下JFFS2文件系统的实现
- jffs2文件系统的挂载-嵌入式开发
- DynamicModel模型类
- win10 localhost 解析为::1 的解决办法
- iOS对图片进行马赛克处理
- iBET Lucky Draw Jason Zhang & Power Station Concert Ticket(Concert Ticket Lucky Draw, iBET, iBET Con
- ucos 任务的基本概念
- JFFs2文件系统的重新定制
- Visual Studio最常用、最高效的快捷键
- 命令find的35个实例
- Java SE 基础之Volatile变量初识
- C++ 重载 覆盖 隐藏
- seetaface 人脸检测库
- 百度统计了解
- Android一点 打造全功能适配AutoView
- 安卓配置问题