制作jffs2根文件系统

jffs2文件系统(二) 本篇文章讲解一下如何制作jffs2文件系统,以及如何在linux下把jffs2作为根文件系统使用。 阅读详情

一、制作mkfs.jffs2工具 

       首先得准备好两个软件包 ,一个是MTD设备的工具包,另一个是zlib压缩包,在这我的MTD设备工具包为mtd-snapshot-20050519.tart.tar,zlib压缩包是zlib-1.2.3.tar.tar。

步骤:
(1)解压zlib-1.2.3.tar.tar,

$tar xf zlib-1.2.3.tar.tar (在制作mkfs.jffs2过程中需要用到得库);
(2)解压mtd-snapshot-20050519.tar.tar

$tar xf mtd-snapshot-20050519.tar.tar
$ ls

mtd  mtd-snapshot-20050519.tar.tar  zlib-1.2.3  zlib-1.2.3.tar.tar
(3)进入解压后的目录zlib-1.2.3执行:
$ cd zlib-1.2.3/ 
$ ./configure --shared --prefix=/usr/(放入系统目录中);
(4)直接make,进行编译。
$ make
(5)安装编译好的库文件:
$ make install
(6)编译安装mkfs.jffs2工具

$cd mtd/util

$make

$make install (安装命令到系统中)

$which mkfs.jffs2

/usr/sbin/mkfs.jffs2

二、制作jffs2文件系统

          这时你就可以用你制作的mkfs.jfss2工具制作jfffs文件系统了!

$mkfs.jffs2 -n -s 512 -e 16KiB -d filesys -o filesys.jffs2

或$mkfs.jffs2 -r filesys -o filesys.jffs2 -e 0x4000 --pad=0x800000 -n(这个制作的,不管文件系统多大,--pad=0x800000 这个参数都让做成8MB)

 注释:

       上面命令中,"-n"表示不要在每个擦除块上都加上清除标志,"-s 512"指明一页大小为512字节,"-e 16KiB”指明一个擦除块大小为16KB,"-d"表示根文件系统目录,"-o"表示输出文件(目标文件)。"--pad"表示用16进制输出文件的大小,也就是filesys.jffs2的size。

三、jffs2文件系统烧写

#tftp 30008000 filesys.jffs2

#nand erase 200000 800000 (根文件系统所在的分区,kernel启动的时候有显示)

#nand write 30008000 200000 800000   (nand write 下载的地址 偏移地址 大小)

然后设置uboot启动参数

#setenv bootcmd tftp 30800000 zImage\; go 30800000

#setenv bootargs root=/dev/mtdblock2 init=/linuxrc rootfstype=jffs2 rw console=ttySAC0,115200

mkfs.jffs2使用方法
选项含义(man a mkfs.jffs2)

mkfs.jffs2: Usage: mkfs.jffs2 [OPTIONS]Make a JFFS2 file system image from an existing directory treeOptions:

-p, --pad[=SIZE]       用16进制來表示所要输出档案的大小,也就是root.jffs2的size。 很重要的是, 為了不浪费flash空间,这个值最好符合flash driver所规定的区块大小 。果不足则使用0xff来填充补满。                            

 -r, -d, --root=DIR      指定要做成image的原资料夹.(默认:当前文件夹)

-s, --pagesize=SIZE     节点页大小(默认: 4KiB)

-e, --eraseblock=SIZE   设定擦除块的大小为(默认: 64KiB)

-c, --cleanmarker=SIZE Size of cleanmarker (default 12)

-m, --compr-mode=MODE   Select compression mode (default: priortiry)

-x, --disable-compressor=COMPRESSOR_NAME                          Disable a compressor

-X, --enable-compressor=COMPRESSOR_NAME                          Enable a compressor

-y, --compressor-priority=PRIORITY:COMPRESSOR_NAME        Set the priority of a compressor

-L, --list-compressors Show the list of the avaiable compressors

-t, --test-compression Call decompress and compare with the original (for test)

-n, --no-cleanmarkers   指明不添加清楚标记(nand flash 有自己的校检块,存放相关的信息。)如果挂载后会出现类 似:          CLEANMARKER node found at 0x0042c000 has totlen 0xc != normal 0x0                     的警告,则加上-n 就会消失。

-o, --output=FILE       指定输出image档案的文件名.(default: stdout)

-l, --little-endian     指定使用小端格式-b, --big-endian        指定使用大端格式

-D, --devtable=FILE     Use the named FILE as a device table file

-f, --faketime          Change all file times to '0' for regression testing

-q, --squash            Squash permissions and owners making all files be owned by root

-U, --squash-uids       将所有文件的拥有者设为root用户

-P, --squash-perms      Squash permissions on all files     

                                           --with-xattr        stuff all xattr entries into image     

                                          --with-selinux      stuff only SELinux Labels into jffs2 image     

                                          --with-posix-acl    stuff only POSIX ACL entries into jffs2 image

-h, --help              显示这些文字

-v, --verbose           Verbose operation

-V, --version           显示版本

-i, --incremental=FILE     Parse FILE and generate appendage output for it

 

小白都看懂了系列之jffs2文件系统制作与移植 jffs2文件系统制做与移植   JFFS文件系统最早是由瑞典Axis Communications公司基于Linux2.0的内核为嵌入式系统开发的文件系统。JFFS2(Journalling Flash FileSystem v2,日志闪存文件系统版本2 )是RedHat公司基于JFFS开发的闪存文件系统,最初是针对RedHat公司的嵌入式产品eCos开发的嵌入式文件系统,所JFFS2 阅读详情

相关推荐

【Hi3516A】使用mkfs.jffs2 工具制作jffs2根文件系统镜像

为了将根文件系统进行移植,需要将其制作为根文件系统镜像,这类似于把光盘制作成ISO文件映像,也就是对根文件系统进行打包压缩了;本文中制作的是jffs2文件系统镜像,所使用的mkfs.jffs工具从SDK中得到,ffs2格式的镜像适用在spi flash,所以制作jffs2镜像时,需要用到spi flash的块大小 jffs2文件系统简介 JFFS2 是 RedHat 的 David Woodh...

晨海的博客 2107

mkfs.jffs2使用方法

实例:mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x20000 --pad=0x1000000 -s 0x800 -n mkfs.jffs2: Usage: mkfs.jffs2 [OPTIONS] Make a JFFS2 file system image from an existing directory tree Options: -p,

lulitianyu的专栏 8580

利用busybox和mkfs jffs2制作根文件系统

利用busybox和mkfs jffs2制作根文件系统

qq_44945035的博客 536

jffs2镜像制作及挂载

(一)用mkfs.jffs2 命令制作jffs2镜像文件下载:ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2 或者使用命令:apt-get install mtd-utils 命令使用实例:mkfs.jffs2  -s 0x1000 -e 0x40000 -p 0x500000 -d  rootfs/ -o  jf

yobwoc的专栏 2132

jffs2文件系统工具

jffs2文件系统工具

【MMDetection3.0实战】从零构建自定义数据集训练流程

本文详细介绍了使用MMDetection3.0框架从零开始构建自定义目标检测数据集的完整训练流程。内容涵盖环境配置、COCO格式数据准备、核心代码改造、模型配置与训练策略调优,以及最终的模型测试与验证,帮助开发者快速上手并训练自己的检测模型。

l6m7n8的博客 312

JFFS2根文件系统制作

一.根文件系统简介 根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如inittab、rcS)和服务加载到内存中去运行。 文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上却没有烧录文件系统,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。 ...

WuYujun's blog 5614

超简单的视频换脸,效果相当不错!完全白嫖的技术,来自ComfyUI 官方客户端一键搞定!手把手教会你如何下载安装部署,而且教你如何使用。

如果你电脑上没有安装Visual Studio的C++桌面开发组件,还有Windows应用SDK C++模板,那么你需要自行去下载安装下【安装后默认界面会自动识别系统语言,当然如果你是中文繁体用户,那么你可以在 ComfyUI 的管理器里下载。】并把它放入根目录-models-insightface文件夹内 , 同时下载视频换脸工作流 【分享手把手教你视频换脸,本地部署,轻轻松松当上“电影主角”】,否则insightface无法被正常载入。) 这是换脸必备的工具 ,安装后重启;

TianLeung的博客 2850

jffs2根文件系统制作

来自1420café的博客: http://kinglaw05.blog.163.com/blog/static/596833142010450154463/ jffs2根文件系统制作   2010-05-05 12:15:04|  分类: 嵌

Young_Xu的专栏 3318

Win10更新后黑屏只剩鼠标?火绒误杀explorer.exe的5种自救方案(附详细步骤)

本文详细介绍了Win10更新后出现黑屏只剩鼠标的5种专业修复方案,重点解决火绒误杀explorer.exe的问题。从基础的任务管理器操作到安全模式下的系统修复,再到注册表编辑和系统还原,提供了全面的解决方案,帮助用户快速恢复系统正常运行。

weixin_29306571的博客 635

开关电源EMC整改实录:用WSX系列共模电感搞定30MHz辐射超标

本文详细介绍了开关电源EMC整改实战,通过WSX系列共模电感成功解决30MHz频段辐射超标问题。文章分析了共模干扰的产生机制,对比了不同磁芯材料的性能差异,并提供了电路布局优化与安装技巧,最终通过实测数据验证了整改方案的有效性。

weixin_29305313的博客 413

利用busybox和mkfs.jffs2制作根文件系统

mkfs.jffs2: Usage: mkfs.jffs2 [OPTIONS] Make a JFFS2 file system image from an existing directory tree Options: -p, --pad[=SIZE] 用16進制來表示所要輸出檔案的大小,也就是root.jffs2的size。                             

zqj6893的专栏 6454

手把手教你玩转服务器芯片架构​专栏--​​3.5 实战案例:用SystemC搭建一个多核服务器芯片的NoC模型(含流量分配与延迟仿真)​

通过SystemC搭建多核NoC模型,可深入验证流量分配策略与延迟特性。实际工程中需结合FPGA原型验证(如Xilinx Alveo)进行时序收敛分析,并通过参数化设计适配不同服务器芯片需求。

MHD0815的博客 3042

Linux——根文件系统的制作(jffs2 and ubifs)

一、根文件系统简介 根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统而言它还是内核启动时所挂载(mount)的第一个文件系统,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如inittab、rcS)和服务加载到内存中去运行。 根文件系统包括了Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目...

admiral58的专栏 2757

波士顿房价预测分析----以线性回归LinearRegression为例

波士顿房价数据集包括506个样本,每个样本包括13个特征变量和该地区的平均房价,房价显然和多个特征变量相关,先选择一元线性回归与多个特征建立线性方程,观察模型预测的好坏,再选择多元线性回归进行房价预测。13个特征变量缩写含义CRIM城镇人均犯罪率ZN住宅用地所占比例INDUS城镇中非住宅用地所占比例CHAS虚拟变量,用于回归分析NOX环保指数RM每栋住宅的房间数AGE1940 年以前建成的自住单位的比例DIS距离 5 个波士顿的就业中心的加权距离RAD。

我走的每一步都算数 841

华为OD机试双机位C卷-简单的解压缩算法(C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【简单的解压缩算法】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD真题【简单的解压缩算法】。

qq_45776114的博客 474

jffs2根文件系统制作(三)

<br />在此列出在制作根文件系统时遇到的问题和解决方法,还有一些来自网上的问题和相应的解决方法<br />1、<br />Warning: unable to open an initial console. 到这里停止,不能进控制台,修改如下:<br />[root@qljt1 jffs2]# cd /jffs2/rootfs/dev/<br />[root@qljt1 dev]# mknod -m 660 console c 5 1<br />[root@qljt1 dev]# mknod -m 6

slmmlk2011_2的专栏 1508

【SystemVerilog基础】SystemVerilog Assertion 概述

断言主要是描述复杂的设计行为;是传统验证方法学一个很好的补充,可以检查到电路内部细节,相当于一种白盒验证,传统的验证方法学是纯粹的黑盒验证!property跟上面的sequence差别不大,唯一有差别可能多了两个implication(|->,|=>)注意,当有前置条件时,不满足前置条件不会fail,而是伪真!上面这个因为没有前置条件,每个周期都会去检查!注意:当没有前置条件时,不满足条件会直接fail!

MoorePlus的博客 331

Jffs2根文件系统制作[转]

Jffs2根文件系统制作一. 建立目录[root@qljt1 /]# mkdir /jffs2 /jffs2/rootfs /jffs2/rootfs_build[root@qljt1 /]# cd /jffs2/rootfs[root@qljt1 rootfs]# mkdir {bin,dev,etc,usr,lib,sbin,proc,sys,tmp}[root@qljt1...

weixin_34075268的博客 180

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

制作jffs2根文件系统,分区信息错误的问题

在做jffs2根文件系统烧录之后,运行时串口打印错误信息。 在做这个根文件系统的过程中,要弄懂三点, 第一,jffs2文件系统需要有参数进行填充。 第二,在烧录文件系统的过程中nand erase, nand write为什么要在16M的位置开始烧录。 第三,bootargs传参是怎么知道内核启动根文件系统的。 首先遇到以下错误信息 出现此错误的原因为,分区大小设置与烧录地址不匹配。

qq_39522922的博客 834

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Jffs2根文件系统制作【转】

来自:http://blog.csdn.net/qiaoliang328/article/details/4881647 一.     建立目录 [root@qljt1 /]# mkdir /jffs2 /jffs2/rootfs /jffs2/rootfs_build [root@qljt1 /]# cd /jffs2/rootfs [root@qljt1 rootfs]# mkdi

shareinfo2018 312

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

根文件系统和yaffs2还有jffs2文件系统制作

1.最小得跟文件系统制作   根据busybox源码可知,最小的根文件系统要具备如下条件: 第一.init(来源于busybox,主要是一些命令,如cp,ls等,等编译busybox时,就得到) 第二./dev/console 和/dev/null(open()打开设备) 第三./etc/inittab 第四.配置指定的程序 第五.C库(r如:标准输入,输出,错误等) --根据韦东

hare_Lee的专栏 1956
上一篇: Uncompressing Linux..... done, booting the kernel.
下一篇: MPlayer移植到TI DM816X
evenness
博客等级 码龄15年 99粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值