嵌入式Linux系統中使用cramfs文件系統
在做嵌入式Linux開發的時候,由於存儲空間的限制,我們常常會有一些文件系統需要壓縮存儲,
比如說,可以將操作系統的/usr,/dev,
/bin,/sbin 等等不需要經常修改的目錄壓縮存儲在一個壓縮
文件中,在系統引導的時候再將壓縮文件解開。這種情況下,cramfs是一個
不錯的選擇。下面我將詳
細闡述如何使用cramfs來壓縮根文件系統下的部分目錄。
cramfs是一個只讀文件系統,壓縮比一般可以達到1:2
本人的工作環境:CPU GX300,(與Intel
X86系列兼容),RAM 64M,2 IDE口,DOM 16M,
操作系統 Redhat 7.2發行版,Linux Kernel
2.4.7。
第一步:準備根文件系統
創建工作目錄: mkdir /cram
mkdir /cram/bin
mkdir /cram/sbin
mkdir /cram/usr
將目標系統所需要的 /usr /bin
,/sbin 和其他不需要經常修改文件的目錄
目錄下的文件分別拷貝到/cram下的對應目錄中去。
第二步:生成cram 文件
cd /
mkcramfs /cram cram.img
這個過程時間較長.
壓縮完成後,你可以測試一下你的cram.img文件
mount -o loop
-t cramfs /cram.img /mnt 將cram.img 文件系統加載到/mnt
cd /mnt
ls
查看是否有 bin,sbin,usr等等目錄。
第三步:在目標系統上使用cram.img文件
生成initrd文件,(關於initrd文件請參考相關文章)
在目標系統上安裝好lilo,
/boot /dev等目錄
在initrd中的linuxrc文件結尾加上以下腳本。
mkdir /cram
mount -o loop -t cramfs /cram.img /cram
rm -Rf /bin /sbin /usr
mkdir /bin /sbin /usr /proc
ln -s /cram/bin /bin
ln -s /cram/sbin /sbin
ln -s
/cram/usr /usr
等等。
另外,你的etc目錄, /dev還是照常放在你的根文件系統上
嵌入式Linux系統中使用cramfs文件系統
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.