gpt4 book ai didi

linux - 来自 initramfs 的文件 "disappearing"

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:28:00 27 4
gpt4 key购买 nike

在运行 Linux 2.6.36 的嵌入式平台上,我偶尔会遇到一个问题,即根文件系统中的文件没有出现在我们的 initramfs cpio 文件中

我正在从 cpio 列表文件构建 initramfs(请参阅 gen_init_cpio.c),但在使用完整目录之前也遇到了问题。

当我说我知道文件存在于 cpio 文件中时,我的意思是如果我提取 usr/initrmafs_data.cpio.gz 文件就在那里。

这似乎与 initramfs 中的内容量松散相关,但我还没有找到导致文件开始消失的文件数量和/或总存储大小的神奇数量。

make menuconfig 中是否有我遗漏的选项可以解决此问题?启动参数?还有别的吗?

有什么建议吗?

更新:需要说明的是,这是使用 CONFIG_INITRAMFS_SOURCE 的内置 ramdisk,并通过设置 CONFIG_INITRAMFS_COMPRESSION_GZIP 使用 gzip 压缩。此外,这适用于 mipsel-linux 平台。

更新 #2:我在 init/initramfs.c:clean_path 中添加了一个 printk 并且神秘地,以前“消失”的文件现在都在那里了。如果尝试记录行为改变了行为,我认为这种排序似乎指向内核错误。明天我会将 initramfs.c 与更新的内核进行比较,看看是否能说明问题。

最佳答案

可能您的图像大小大于默认 ramdisk 大小(4MB afaik)。检查添加 ramdisk_size=valuebiggerthanyourimagesize 作为内核参数(在 root=... 参数之前)是否解决了您的问题。您还可以尝试更改内核配置值 CONFIG_BLK_DEV_RAM_SIZE

关于linux - 来自 initramfs 的文件 "disappearing",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31524636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com