日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

romfs, cramfs和ramdisk

發布時間:2023/12/9 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 romfs, cramfs和ramdisk 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From:http://blog.csdn.net/at91rm9200/article/details/550074

文章來源 (http://publishblog.blogchina.com/blog/tb.b?diaryID=3226065)

cramfs和romfs只是一個文件系統類型,ramdisk相當于一塊硬盤空間,可以理解為在內存中虛擬出一塊硬盤來,所以它上面就可以有你 linux支持的各種文件系統什么的。所以你問的,它和romfs和cramfs確實不是一個層次的概念。 ^-^恭喜你,你答對了,加10分
cramfs是只讀壓縮的文件系統,文件系統類型可以是ext2,ext3,什么的,
制作方法: 假如你的根文件系統的目錄是 rootfs (你將來要用到的所有的文件就在這里)
like this : mkcramfs rootfs rootfs.cramfs 就搞定了。如名字所言,它是只讀壓縮,所以比較省空間,如果你的flash比較小,就用這個吧! 系統啟動后,kernel把他load到內存中,解壓,所以比較占內存。看你的需要了。

而ramdisk呢?這個用的比較多,ramdisk相當于一塊硬盤空間,可以理解為在內存中虛擬出一塊硬盤來,所以它上面就可以有你linux支持的各種文件系統什么的。所以你問的,它和romfs和cramfs確實不是一個層次的概念。 關鍵是以后,在ramdisk里面可以寫,這是一個和cramfs重要的區別了。
具體制作方法:
dd if=/dev/zero of=rootfs.img bs=1M count=一個整數(看你的實際的需要的空間了,一般也就10M)
把它格式化為你需要的文件系統,比如 ext2 ,ext3 ,reiserfs 什么的,
比如ext3 : mkfs.ext3 root.img
然后把它mount到某個目錄,比如tmp 吧:
mount -t ext3 /tmp/

然后,你的文件系統所在的目錄的所有文件copy到tmp目錄下: 比如你的文件系統目錄在/root/rootfs-test :
cp -av /root/rootfs-test/* /tmp/ (這里注意一個細節:copy的時候,用參數a表示copy全部,v表示只copy鏈接本身,不copy它指向的內容,這點很關鍵哦!) ,另外,有的人常用:cp -pdR 這個你也可以試試,意思就是原來什么樣,copy過去就什么樣。

然后卸載/tmp/ 目錄就好了。
umount /tmp

一般的情況下,ramdisk是要壓縮的,對于上面的生成好的img, rootfs.img ,你可以這樣壓縮:
gzip -v9 rootfs.img 會自動生成rootfs.img.gz ,一般壓縮率,30%吧!

romfs?
uCLinux系統采用ROMFS文件系統,這種文件系統相對于一般的ext2文件系統要求更少的空間。空間的節約來自于兩個方面:首先內核支持ROMFS文件系統比支持ext2文件系統需要更少的代碼;其次ROMFS文件系統相對簡單,在建立文件系統超級塊(superblock)需要更少的存儲空間。ROMFS文件系統不支持動態擦寫保存,對于系統需要動態保存的數據采用虛擬RAM盤的方法進行處理(RAM盤將采用ext2文件系統).
可以從http://romfs.sourceforge.net/下載生成romfs的工具genromfs

個人經驗: 你自己要創建文件系統,一般是先建一個目錄在里面建一些常用的目錄,比如bin ,sbin ,root ,etc lib 什么的,正如樓上所言,lib比較煩,需要考慮你要用的程序需要的動態鏈接庫,
建議你先搞一個別人的,拿過來,參考,自己去改,一開始,自己去作肯定要瘋的。

你可以到網上搜搜的。 有個網站,http://user-mode-linux.sourceforge.net/? 這個里面提供了一些簡單的文件系統,你可以拿過來,自己改改。 這是個比較快的方法,其實,里面要改基本是:
/etc/rc.d/** 下面的啟動腳本。
lib/下的一些動態鏈接庫。
shell busybox知道嗎? 利用這個,可以省很多空間, 到google上搜搜



總結

以上是生活随笔為你收集整理的romfs, cramfs和ramdisk的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。