Initramfs 能否用作根檔案系統

2021-04-18 10:37:40 字數 1257 閱讀 3107

前言

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 的板子上執行,結果...