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