首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建多个SquashFS分区

创建多个SquashFS分区
EN

Stack Overflow用户
提问于 2010-08-03 14:41:22
回答 3查看 1.2K关注 0票数 3

我在嵌入式平台上工作(Broadcom的bcm5358u处理器与MIPS核心),在那里我需要额外的分区,以便进一步升级过程。使用的文件系统是SquashFS,所以我相应地修改了'struct‘,它被传递给与mtd_partition相关的代码,结果如下:

代码语言:javascript
复制
#cat /proc/partitions
major minor  #blocks  name

 - 31     0        128 mtdblock0
 - 31     0        128 mtdblock0
 - 31     1       6016 mtdblock1
 - 31     2       4573 mtdblock2
 - 31     3       6016 mtdblock3
 - 31     4       4445 mtdblock4
 - 31     5       4160 mtdblock5
 - 31     6         64 mtdblock6

现在,我希望能够在系统升级期间挂载/dev/mtdlock4作为临时存储,但我不能这样做,因为这个分区mtdblock4似乎没有安装任何FS。内核映像和文件系统集成在一个映像中,该映像被闪存到/dev/mtdblock2 2(作为root_fs提供给内核)。

我只看到一种解决方案:创建一个空的squashFS镜像,将其写入/dev/mtdblock4 4,它可能会按照我想要的方式工作(?)。有没有一种方法,比如,每当内核启动或违反MTD概念时,动态格式化分区?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-04 05:14:42

有没有什么原因你不能动态创建一个挂载的新文件系统?

您肯定不想要一个空的squashFS镜像。如果你想要临时的可写存储,你可以使用像tmpfs卷这样的东西。如果需要支持系统重启,可以在原始闪存设备上使用JFFS。您应该能够像格式化/挂载任何其他块设备一样格式化/挂载MTD设备。

票数 0
EN

Stack Overflow用户

发布于 2010-08-03 15:47:24

您可以在空(已擦除)闪存上装载JFFS2文件系统。它会在挂载时自动“格式化”闪存分区。Squashfs不是一个好的候选者,因为它是一个只读的文件系统。

票数 1
EN

Stack Overflow用户

发布于 2010-08-04 08:54:45

感谢您的回复。

是的,SquashFS是只读的,但我仍然可以通过平台供应商提供的Web界面更新我的系统。平台SDK提供了从用户空间直接访问MTD的接口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3394137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档