romfs, cramfs和ramdisk
From:http://blog.csdn.net/at91rm9200/article/details/550074
文章來源 (http://publishblog.blogchina.com/blog/tb.b?diaryID=3226065)
cramfs和romfs只是一個(gè)文件系統(tǒng)類型,ramdisk相當(dāng)于一塊硬盤空間,可以理解為在內(nèi)存中虛擬出一塊硬盤來,所以它上面就可以有你 linux支持的各種文件系統(tǒng)什么的。所以你問的,它和romfs和cramfs確實(shí)不是一個(gè)層次的概念。 ^-^恭喜你,你答對(duì)了,加10分
cramfs是只讀壓縮的文件系統(tǒng),文件系統(tǒng)類型可以是ext2,ext3,什么的,
制作方法: 假如你的根文件系統(tǒng)的目錄是 rootfs (你將來要用到的所有的文件就在這里)
like this : mkcramfs rootfs rootfs.cramfs 就搞定了。如名字所言,它是只讀壓縮,所以比較省空間,如果你的flash比較小,就用這個(gè)吧! 系統(tǒng)啟動(dòng)后,kernel把他load到內(nèi)存中,解壓,所以比較占內(nèi)存。看你的需要了。
而ramdisk呢?這個(gè)用的比較多,ramdisk相當(dāng)于一塊硬盤空間,可以理解為在內(nèi)存中虛擬出一塊硬盤來,所以它上面就可以有你linux支持的各種文件系統(tǒng)什么的。所以你問的,它和romfs和cramfs確實(shí)不是一個(gè)層次的概念。 關(guān)鍵是以后,在ramdisk里面可以寫,這是一個(gè)和cramfs重要的區(qū)別了。
具體制作方法:
dd if=/dev/zero of=rootfs.img bs=1M count=一個(gè)整數(shù)(看你的實(shí)際的需要的空間了,一般也就10M)
把它格式化為你需要的文件系統(tǒng),比如 ext2 ,ext3 ,reiserfs 什么的,
比如ext3 : mkfs.ext3 root.img
然后把它mount到某個(gè)目錄,比如tmp 吧:
mount -t ext3 /tmp/
然后,你的文件系統(tǒng)所在的目錄的所有文件copy到tmp目錄下: 比如你的文件系統(tǒng)目錄在/root/rootfs-test :
cp -av /root/rootfs-test/* /tmp/ (這里注意一個(gè)細(xì)節(jié):copy的時(shí)候,用參數(shù)a表示copy全部,v表示只copy鏈接本身,不copy它指向的內(nèi)容,這點(diǎn)很關(guān)鍵哦!) ,另外,有的人常用:cp -pdR 這個(gè)你也可以試試,意思就是原來什么樣,copy過去就什么樣。
然后卸載/tmp/ 目錄就好了。
umount /tmp
一般的情況下,ramdisk是要壓縮的,對(duì)于上面的生成好的img, rootfs.img ,你可以這樣壓縮:
gzip -v9 rootfs.img 會(huì)自動(dòng)生成rootfs.img.gz ,一般壓縮率,30%吧!
romfs?
uCLinux系統(tǒng)采用ROMFS文件系統(tǒng),這種文件系統(tǒng)相對(duì)于一般的ext2文件系統(tǒng)要求更少的空間。空間的節(jié)約來自于兩個(gè)方面:首先內(nèi)核支持ROMFS文件系統(tǒng)比支持ext2文件系統(tǒng)需要更少的代碼;其次ROMFS文件系統(tǒng)相對(duì)簡單,在建立文件系統(tǒng)超級(jí)塊(superblock)需要更少的存儲(chǔ)空間。ROMFS文件系統(tǒng)不支持動(dòng)態(tài)擦寫保存,對(duì)于系統(tǒng)需要?jiǎng)討B(tài)保存的數(shù)據(jù)采用虛擬RAM盤的方法進(jìn)行處理(RAM盤將采用ext2文件系統(tǒng)).
可以從http://romfs.sourceforge.net/下載生成romfs的工具genromfs
個(gè)人經(jīng)驗(yàn): 你自己要?jiǎng)?chuàng)建文件系統(tǒng),一般是先建一個(gè)目錄在里面建一些常用的目錄,比如bin ,sbin ,root ,etc lib 什么的,正如樓上所言,lib比較煩,需要考慮你要用的程序需要的動(dòng)態(tài)鏈接庫,
建議你先搞一個(gè)別人的,拿過來,參考,自己去改,一開始,自己去作肯定要瘋的。
你可以到網(wǎng)上搜搜的。 有個(gè)網(wǎng)站,http://user-mode-linux.sourceforge.net/? 這個(gè)里面提供了一些簡單的文件系統(tǒng),你可以拿過來,自己改改。 這是個(gè)比較快的方法,其實(shí),里面要改基本是:
/etc/rc.d/** 下面的啟動(dòng)腳本。
lib/下的一些動(dòng)態(tài)鏈接庫。
shell busybox知道嗎? 利用這個(gè),可以省很多空間, 到google上搜搜
總結(jié)
以上是生活随笔為你收集整理的romfs, cramfs和ramdisk的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络共享自动关,如果单击“打印”后
- 下一篇: 王道考研——计算机网络------笔记