簡體   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