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

在做jffs2根文件系统烧录之后,运行时串口打印错误信息。

在做这个根文件系统的过程中,要弄懂三点,

第一,jffs2文件系统需要有参数进行填充。

第二,在烧录文件系统的过程中nand erase, nand write为什么要在16M的位置开始烧录。

第三,bootargs传参是怎么知道内核启动根文件系统的。


首先遇到的问题是,分区大小设置与烧录地址不匹配。

bootargs 传递的jffs2根文件系统是存放在root=/dev/mtdblock(?) 分区上,我在所要烧录的分区设置过小,文件系统溢出,所以打印错误信息,无法启动。   

在重新设置分区之后,解决部分问题。

设置bootargs传参的指令为  set bootargs  'root=/dev/mtdblock2 rootfstype=jffs2 init=/linuxrc console=ttys0,115200'(rootfstype指明所要启动的文件系统类型)

重新进行分区,设置了bootargs传递参数后,把分区和烧录文件匹配的问题解决了。


遇到第二个问题是,jffs2系统填充的问题。

只有jffs2文件系统,它有一个特殊性,要进行填充。jffs2仅仅算文件系统的话只有4M左右,但是要想预留空间必须要对其进行填充,我给文件系统留的分区有40M,因此填充到40M,否则会不停的打印重复的信息。填充指令如下

 mkfs.jffs2 -n -s 2048 -e 128K

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PetaLinux是一个基于嵌入式Linux的开发工具链,用于构建嵌入式系统。它提供了许多可定制的组件和功能,其中包括对JFFS2文件系统的支持。 JFFS2(Journaling Flash File System 2)是一种针对闪存存储设备设计的文件系统。它具有很好的压缩率和高度可靠性,适用于嵌入式系统。在嵌入式系统中,闪存是一种常见的存储设备,它通常具有较小的存储容量和有限的周期寿命。因此,选择合适的文件系统对于确保系统的可靠性和性能至关重要。 使用PetaLinux时选择使用JFFS2文件系统有几个优点。首先,JFFS2具有较好的压缩率,可以节省存储空间。这在嵌入式系统中特别重要,因为闪存的容量通常有限。其次,JFFS2采用了日志技术,可以确保数据的完整性和一致性。它可以通过将修改的数据写入日志中,然后再写入闪存中来提供数据持久性。这有助于防止数据损坏和错误。 另外,PetaLinux提供了对JFFS2文件系统的内建支持和集成工具。这些工具使得在构建嵌入式系统时轻松地添加和配置JFFS2文件系统成为可能。开发人员可以使用PetaLinux提供的命令和选项设置文件系统的参数和属性,以满足特定的需求。 综上所述,使用PetaLinux来构建嵌入式系统并选择JFFS2文件系统能够提供较好的存储空间利用率和数据的可靠性。这使得嵌入式系统在具有有限存储容量和闪存设备的情况下,能够更好地运行和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值