前言:
initramfs
是2.6
核心的乙個新特性。用於替換
initrd.
今天試驗了一下,研究其是否可以用作我們的根檔案系統。
方法:對比普通啟動(使用
cramfs
根檔案系統
)與使用
initramfs
的區別。使用
cpu
的乙個3.25m
free running
的時鐘進行計數(有了
jiffes
後使用jiffes)
測試資料:
1) 普通啟動
核心大小:
1348524
檔案系統大小:
4964352
bl 裝載kernel
前:26dac (49ms)
bl 裝載
kernel
後:2454ad (733ms)
啟動init
前:ab
995a
(3460ms)
jiffis
統計:2.25/1.29 執行
profile:
jiffis
統計:3.34/1.31
2) initramfs 啟動
核心大小:
5598728
(556e08)
bl 裝載
kernel
前:26d0d (49ms)
bl 裝載
kernel
後:5fa889 (1928ms)
核心剛啟動:
50f5a
9a(26121ms)
啟動init
前:5b
9f0e5(29560ms) jiffis
統計:(3.44, 1.26) 執行
profile:
jiffis
統計:3.75,1.28
結論:
initramfs
不可以用做根檔案系統。
由於需要將整個檔案系統拷貝到記憶體以及解壓,啟動時間太長。而使用
cramfs
則只會按需拷貝。
另外,由於整個核心以及根檔案系統全部在記憶體了。可用作系統公升級方案。
參考:
製作initramfs映象
linux kernel在自身初始化完成之後,需要能夠找到並執行第乙個使用者程式 這個程式通常叫做 init 程式 使用者程式存在於檔案系統之中,因此,核心必須找到並掛載乙個檔案系統才可以成功完成系統的引導過程。在grub中提供了乙個選項 root 用來指定第乙個檔案系統,但隨著硬體的發展,很多情況...
簡記initramfs使用
網上都是各種介紹,流程咋走咋走,rootfs怎麼做怎麼做 但用起來是真沒跑起來 雖然不是我自己弄,但是我看了一圈下來也是暈 最後負責弄的同學倒騰出來了,發現不太像網上說的那麼回事,甚至原始碼也覺得怪怪的 大概是沒有通讀 流程就想自己折騰一下initramfs 總之簡單記錄一下 注意點 1.使用的專案...
initramfs的執行過程
首先說明我從事的是嵌入式行業,所以以後的 linux 我用的晶元是歐洲 gaisler research 公司的leon3 sparc架構 核心是 snapgear 包含uclinux2.0 和linux2.6 已經做好移植工作。周一的時候,把 linux2.6.21 leon3 的板子上執行,結果...