【问题标题】:How can I add or remove any files into and from initramfs root file system?如何在 initramfs 根文件系统中添加或删除任何文件?
【发布时间】:2013-07-22 14:07:57
【问题描述】:

正如我所说,我想操作我的 uClinux 的根文件系统。 它基于 initramfs。

我知道 /usr 有大部分与制作根文件系统相关的文件。

├── .built-in.o.cmd
├── .gen_init_cpio.cmd
├── .gitignore
├── .initramfs_data.cpio.gz.cmd
├── .initramfs_data.cpio.gz.d
├── .initramfs_data.o.cmd
├── Kconfig
├── Makefile
├── built-in.o
├── gen_init_cpio
├── gen_init_cpio.c
├── initramfs_data.S
└── initramfs_data.cpio.gz

就是这样。

还有一个目录,../romfs,它似乎被用作根文件系统。 有一个目录 ../romfs/mnt/ 我想创建一个目录 ../romfs/mnt/flash 但是 mkdir ../romfs/mnt/flash 没有帮助。 下载的图像不包括 ../romfs/mnt/flash 实际上 ../romfs/mnt/flash 在编译后就被删除了。

如何在我的根文件系统中添加或删除任何目录?

非常感谢..

【问题讨论】:

    标签: file system root uclinux


    【解决方案1】:

    您的内核/initramfs 是如何构建的?它是 Buildroot 还是 ptxdist 或类似工具?

    你需要知道在编译/构建阶段做了什么,也许其他地方有一个骨架,你需要将你的闪存目录添加到这个骨架中。

    【讨论】:

    • 谢谢!对!让我发布我自己对这个问题的解决方案。
    【解决方案2】:

    让我发布我对这个问题的解决方案。 我将其发布为答案,因为它的体积太大,无法将其用于其他人的答案或我的问题。

    首先我在我的项目的顶级目录下搜索fstab。

    find -name "fstab"
    

    结果如下图。

    ./vendors/{vendorname}/{modelname}/fstab
    ./vendors/{vendorname}/{modelname}/fstab
    ./vendors/{vendorname}/{modelname}/fstab
    ./vendors/{vendorname}/{modelname}/fstab
    ./vendors/{vendorname}/{modelname}/fstab
    ./romfs/etc/fstab
    

    ./romfs/etc/fstab 是从 ./vendors/{vendorname}/{modelname}/ 下的 fstab 之一复制而来的强>秒。

    宾果游戏! ./vendors/{vendorname}/{modelname}/ 包括我需要的一切。

    查找 ./vendors/{vendorname}/{modelname}/Makefile 说明一切。

    希望找到这个问题和答案的人能在这里得到有用的信息!!

    谢谢。

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-11
      • 1970-01-01
      • 2022-01-24
      • 2020-07-23
      • 1970-01-01
      相关资源
      最近更新 更多