0

正如我所说,我想操作我的 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 在编译后立即被删除。

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

非常感谢..

4

2 回答 2

1

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

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

于 2013-07-23T12:59:50.073 回答
0

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

首先,我在项目的顶层目录下搜索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}/ s 下的fstab之一复制而来的。

答对了!./vendors/{vendorname}/{modelname}/包括我需要的一切。

查找./vendors/{vendorname}/{modelname}/Makefile解释了一切。

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

谢谢。

于 2013-07-25T01:22:27.423 回答