嵌入式Linux 的Cramfs 根文件系統(tǒng)配置的解決方案
當(dāng)系統(tǒng)啟動(dòng)并執(zhí)行到系統(tǒng)初始化腳本/etc/init.d/rcS 時(shí),mount 命令將/mnt/yaffs 目錄掛載 為ramfs 類型的隨機(jī)存儲(chǔ)文件系統(tǒng),并在此文件系統(tǒng)上建立Qtopia 和Qtopia/tmp 目錄[5], /Qtopia/tmp 目錄即為應(yīng)用程序可能對(duì)文件系統(tǒng)進(jìn)行寫操作的臨時(shí)文件目錄,故應(yīng)用程序便可 對(duì)/mnt/yaffs 目錄進(jìn)行讀寫操作,保障有讀寫操作要求的應(yīng)用程序的正常執(zhí)行。
(2) 修改/etc/profile 文件
用 vi 或其它文本工具打開myroot 目錄下的/etc/profile 文件;
將 PATH 改為:PATH=/bin: /sbin: /usr/sbin: /用戶程序目錄名
在文件中新增以下語(yǔ)句:
LD_LIBRARY_PATH=/lib: /usr/lib: /用戶庫(kù)目錄名
export PATH LD_LIBRARY_PATH
保存并退出 vi 或文本工具。
其中,修改環(huán)境變量 PATH 的目的是使系統(tǒng)命令/程序目錄擴(kuò)展到用戶程序目錄,這樣, 當(dāng)執(zhí)行用戶應(yīng)用程序時(shí),系統(tǒng)才能找到相應(yīng)的共享文件等;修改LD_LIBRARY_PATH 的目的是將系統(tǒng)的共享庫(kù)路徑擴(kuò)展為包含系統(tǒng)程序和用戶程序庫(kù)文件路徑的庫(kù)文件路徑,以便在 運(yùn)行用戶程序時(shí)能使系統(tǒng)找到應(yīng)用程序所使用的庫(kù)文件。
4 制做Cramfs 根文件系統(tǒng)
制做Cramfs 根文件系統(tǒng),即是把上述配置好的myroot 目錄文件夾壓縮成為能夠讓Linux 內(nèi)核支持的Cramfs 格式的映像文件[6]。
制做 Cramfs 根文件系統(tǒng)需要用到mkcramfs 工具,mkcramfs 工具用來(lái)創(chuàng)建Cramfs 文件系統(tǒng),它能把配置好的根文件系統(tǒng)壓縮成Cramfs 格式的根文件系統(tǒng),壓縮比可達(dá)到2:
1,下面是mkcramfs 命令的格式:
mkcramfs [-h] [-e edition] [-i file] [-n name] dirname outfile
其中參數(shù)含義分別是-h:顯示幫助信息;-e edition:設(shè)置生成的文件系統(tǒng)中的版本 號(hào);-i file:將一個(gè)文件映象插入到文件系統(tǒng)中(只能在Linux2.4.0 以后的內(nèi)核版本中使用); -n name:設(shè)定Cramfs 文件系統(tǒng)的名稱;dirname:指明需要被壓縮的整個(gè)目錄樹;outfile: 最終輸出的文件。
將mkcramfs 工具拷貝到myroot 相同目錄下,在終端中執(zhí)行:
mkcramfs myroot myroot.cramfs
此命令所生成的myroot.cramfs 即為可下載到開發(fā)板上的根文件系統(tǒng)。
5 結(jié)束語(yǔ)
通過(guò)對(duì)嵌入式Linux 根文件系統(tǒng)結(jié)構(gòu)特點(diǎn)的分析,提出了基于Cramfs 根文件系統(tǒng)配置 的新方法,使嵌入式根文件系統(tǒng)具有了可讀、可寫的功能,同時(shí)也減小了根文件系統(tǒng)所占的 存儲(chǔ)空間。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評(píng)論