more: Jollen 的 Embedded Linux 教育訓練

« bss section 的觀念:執行時期的結構說明 | Home | 使用 genext2fs 的 '-D'(device file table)來建立 root filesystem »

簡易的 initramfs 製作方式

jollen 發表於 December 19, 2006 1:10 AM

Linus 本人在 Linux 2.6 時代所提出的 "initramfs" 是一種更好的 "root=" 做法。在這裡先不對 initramfs 做詳細介紹與原由說明,不過,簡單來說,initramfs 就是「kernel 2.6 的 initrd」。Initrd(initial ramdisk)即 /dev/ram0,是一種普遍使用在 embedded Linux 的觀念;embedded Linux 利用 initrd 來載入 root filesystem(或是 bootstrap root filesystem 後再以 NFS 掛進完整 RFS)。

本日記介紹製作 Linux 2.6 的 initramfs 簡易方法。假設 RFS 的目錄為 /home/rootfs,則製作 initramfs 的指令為:

# cd /home/rootfs
# find . | cpio -o -H newc | gzip -9 >../cramfs.gz

更明確地說,initramfs 是 "compressed" ramfs(ram filesystem),ramfs 並不等於傳統的 ramdisk;像是以 "genext2fs" 工具所製作的 initrd(ext2 格式的 image file)才是基於 ramdisk 的傳統做法,也就是說,initramfs 並不等於傳統上的 initrd,這點要請大家多留意。

--jollen

引用通告

如果您想引用這篇文章到您的Blog,
請複製下面的鏈接,並放置到您發表文章的相應界面中。

http://blog.jollen.org/mt-tb.cgi/290

發表一個評論

(您發表的意見將被立即接受,但需要一點時間與後端伺服器做同步,您的留言才會顯示在網站上。為避免 spam 攻撃,按「發表」後請輸入帳號密碼。使用者帳號:「nospam」、密碼:「nospam」。)

Top | 授權條款 | Jollen's Forum: Blog 評論、討論與搜尋
Copyright(c) 2006 www.jollen.org