[英]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.