新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式Linux 的Cramfs 根文件系統配置的解決方案

        嵌入式Linux 的Cramfs 根文件系統配置的解決方案

        作者: 時間:2010-12-12 來源:網絡 收藏

          初始化腳本類,包括/etc/init.d 和/etc/rc/init.d 等,它們包含一些服務類 程序及啟動腳本。

          根系統對掛載系統的主要由兩個文件決定,即fstab、init.d/rcS[3],fstab 描述了當前系統中已被定義好的可以被系統掛載的文件系統,init.d/rcS 文件描述了系統啟 動時將啟動的命令、服務程序及將要掛載的的文件系統。

          由此可見,要使 根文件系統能滿足應用程序的讀寫要求,必須在系統啟動 時為應用程序掛載一個可寫型的文件系統,即/etc/fstab 及/etc/init.d/rcS 文件來掛載可寫 型的文件系統。

        3.2 為Crmafs文件系統添加應用程序

          要發布應用程序到系統中,須將應用程序及應用程序所需要的共享庫文件一起 添加到根文件系統中。根文件系統可以根據需要定制,但這樣需要花費大量時間且工作量 大;也可以修改已有的根文件系統,這樣可以節省大量的時間和精力,且不易出錯[4]。

          以下 是以藍海微芯LJD-2410DVK-I 開發板所提供的root.cramfs 根文件系統為基礎進行修 改和的,root.cramfs 是只讀型的文件系統,為了能向里邊加入用戶應用程序,需要將其 重新掛載、壓縮及解壓縮成新的目錄,步驟如下:

          在root.cramfs 的相同目錄下新建立一個目錄,如myroot。

          在終端中執行命令:mount -o loop root.cramfs myroot, tar –cvf myroot.tar myroot。這兩條 命令的功能分別是將已有的root.cramfs 以塊設備的方式掛載到myroot 并將myroot 壓縮為 myroot.tar。

          為不出現目錄重名,將 myroot.tar 拷貝到另一目錄進行解壓:tar –xvf myroot.tar,解壓 出來的文件夾myroot 即是即將作為根文件系統的目錄,它是可讀可寫的。

          將已經交叉編譯并調試過的用戶目標程序拷貝到myroot 目錄下的/usr/bin 目錄下,此目 錄為根文件系統中為用戶程序準備的目錄。同時將用戶程序所需要用到的關聯庫文件拷貝到 myroot 目錄下的/usr/lib 目錄下,用戶程序的關聯庫文件可通過ldd 命令查看,ldd 命令格式 如下:

          Ldd [選項] 文件

          選項有-v:打印ldd 的版本號;-d:執行符號重部署,并報告缺少的目標對象(只對ELF 格式適用);-r:對目標對象和函數執行重新部署,并報告缺少的目標對象和函數(只對ELF 格式適用);-h:幫助信息。

          執行如下命令來查看應用程序所關聯的庫:

          Ldd –v 程序名

          將交叉編譯工具目錄下的/3.4.1/arm-linux/lib 下的libgcc-s.so.*,libstdc++.so.6 復制到 myroot 目錄下的/root/lib 目錄下。

        3.3 配置根文件系統

          為使 能支持應用程序的寫操作,需要修改文件系統的配置文件,即/etc 目錄下的 文件。

          (1) 修改/etc/init.d/rcS 文件

          /etc/init.d/rcS 是 的系統初始化腳本,修改步驟如下:

          用 vi 或其它文本工具打開myroot 目錄下的/etc/init.d/rcS 文件;

          在文件中增加:

          /bin/mount –n –t ramfs ramfs /mnt/yaffs(yaffs 是文件系統的一個目錄);

          /bin/mkdir /mnt/yaffs/Qtopia;

          /bin/mkdir /mnt/yaffs/Qtopia/tmp。

          保存并退出 vi 或文本工具。

          根文件系統的配置如圖 1 所示。


          圖1 根文件系統的配置

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 姜堰市| 大安市| 四川省| 婺源县| 牡丹江市| 浠水县| 灵川县| 抚宁县| 洪洞县| 安阳市| 嘉兴市| 托克托县| 霞浦县| 手游| 江达县| 厦门市| 普洱| 石首市| 逊克县| 阿鲁科尔沁旗| 四子王旗| 鲁山县| 贡觉县| 塔城市| 洞头县| 长寿区| 特克斯县| 抚远县| 抚州市| 沅陵县| 峨眉山市| 黄骅市| 大石桥市| 北宁市| 鄂尔多斯市| 浮梁县| 阿荣旗| 阜新| 汝阳县| 德惠市| 柏乡县|