如何在initramfs根文件系统中添加或删除任何文件?

时间:2013-07-22 14:07:57

标签: file system root uclinux

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

我知道/ usr有大部分与make root file system相关的文件。

├── .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

就是这样。

还有一个目录,.. / mmfs,它似乎用作根文件系统。 有一个目录../romfs/mnt/ 我想创建一个目录../romfs/mnt/flash 但是mkdir ../romfs/mnt/flash无济于事。 下载的图像不包括../romfs/mnt/flash 实际上../romfs/mnt/flash会在编译后立即删除。

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

非常感谢..

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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
./ vendors / {vendorname} / {modelname} / fstab 之一复制

./ romfs / etc / fstab strong> s。

宾果! ./ vendors / {vendorname} / {modelname} / 包含我需要的所有内容。

查找 ./ vendors / {vendorname} / {modelname} / Makefile 解释了所有内容。

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

感谢。