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