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