繁体   English   中英

文件从initramfs“消失”

[英]Files “disappearing” from initramfs

在运行Linux 2.6.36的嵌入式平台,我偶尔会碰上其中的文件不会出现在存在于我们的initramfs的cpio文件的根文件系统的问题。

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

当我说我知道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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM