實驗7 busybox的移植與根檔案系統的構建

2022-12-24 13:21:02 字數 2368 閱讀 4423

【實驗目的】

了解嵌入式作業系統中檔案系統的型別和作用。

了解jffs2 檔案系統的優點及其在嵌入式系統中的作用。

掌握利用busybox 軟體製作嵌入式檔案系統的方法。

掌握嵌入式linux 檔案系統的的掛載過程。

【實驗步驟】

交叉編譯工具的安裝

第一步: 利用which命令檢視交叉編譯工具的位置。

【圖6-1-1】

第二步: 如果沒有安裝,則將光碟中的toolchain目錄下的xscalev1_檔案複製到/usr/local目錄下(具體目錄可以自行指定)。

【圖6-1-2】

第三步: 利用tar命令對xscalev1_進行解壓。

【圖6-1-3】

第四步: 利用export命令將交叉編譯工具的路徑加入到系統path環境變數中。然後利用which命令檢視交叉編譯工具是否已在系統搜尋路徑中。

【圖6-1-4】

busybox 的交叉編譯

第五步: 從網上**busybox 軟體包,這裡**的是首先把它放在/root/xsbase270_linux/filesystem 目錄下並進行解壓縮。

【圖6-1-5】

在busybox 的頂層目錄下的makefile 中包含一些選項來控制busybox 的建立。其中大部分選項是在開發busybox 時為了除錯而使用的。下圖是busybox 的配置介面。

【圖6-1-6】

第六步:

在build option 選單下,可以選擇靜態庫編譯方式,設定如下:

[*] build busybox as a static binary (no shared libs)

由於為arm 系統製作檔案系統,所以在交叉編譯選項中需要使用帶glibc 庫的支援的交叉編譯器arm-linux-gcc,具體配置如圖5-2 所示:(假設arm 交叉編譯工具所在的目錄為:/opt/xscalev1/bin)

【圖6-1-7】

busybox 預設的安裝路徑為_install,使用者可以根據需要在installation options 配置中輸入自定義路徑。

使用者可以根據需要對檔案系統的功能選項進行配置,這樣可以減少檔案系統的大小,以節省儲存空間。當使用者對檔案系統的配置選項配置完畢後,需要對配置選項進行儲存操作.

【圖6-1-8】

第七步:

配置完成後便可對busybox 進行編譯。

【圖6-1-9】

編譯和安裝完後生成_install 目錄。並且可以看到bin、sbin 和usr 三個目錄,在這三個目錄,可以看到乙個busybox 應用程式和許多符號鏈結,並且還可以看出所有這些符號鏈結都指向busybox 應用程式。

配置檔案系統

第八步: 在_install 下建立etc 目錄:

[root@localhost _install]# mkdir etc

下面我們要在此etc 下分別建立rc,inittab,motd 三個檔案。

進入剛新建的etc,在其下用"vi rc"命令建立rc 檔案:

【圖6-1-10】

儲存後退出,用chmod 命令改變rc 檔案屬性

[root@localhost etc]$chmod 755 rc

在etc 下新建乙個inittab 檔案,內容如下

【圖6-1-11】

繼續在etc 下建立motd 檔案,其內容使用者隨意。

【圖6-1-12】

在etc 下建立 目錄,而後在 目錄下建立rc 檔案的符號連線檔案rcs。

【圖6-1-13】

第九步: 在_install 下建立dev 目錄,建立裝置檔案。

在本實驗中一些裝置檔案是必需的,比如系統控制台console,mtd 塊裝置mdblock3 等,可以使用mknod 命令來建立。

#mknod console c 5 1

#mknod mdblock3 b 31 3

除了使用mknod 命令來手工建立裝置檔案外,還可以複製主機平台/dev 目錄下一些必要的裝置檔案/root/xsbase270_linux/filesystem/busybox-1.00-pre5/_install/dev 目錄下:

# cp -dpr /dev/* /root/xsbase270_linux/filesystem/busybox-1.00-pre5/_install/dev

-dp 引數表示複製過程中保證鏈結檔案保持不變,但不會複製鏈結所指的原檔案,而且屬性不變,然後刪除不必要的裝置檔案。

第一十步: 製作jffs2檔案映像

將光碟的filesystem 下的 拷貝到buybox 下

返回到busybox 的根目錄下,執行命令

# ./ -o -e 0x40000 -r _install -p -l

生成映像檔案拷貝到/tftpboot 中燒寫到flash 中,啟動後執行結果。

實驗7的計算與數值積分

一 實驗問題 以積分 4 1 x 2 dx為例,運用復化梯形求積公式求程式。二 問題的分析 復化梯形求積公式演算法 1 輸入被積函式f x 積分上下限a,b和求積精度 2 n 1,計算tn 3 計算t2n 4 判斷 2n tn 是否成立,如果成立,輸出定積分近似值,停止 5 否則,tn t2n,n ...

實驗報告7答案

課程名稱 高階語言程式設計 實驗七 字串及其處理 字元陣列應用 班級學生姓名 學號專業 指導教師 學期 2010 2011學年上學期 雲南大學資訊學院 一 實驗目的 1 理解字串的概念及儲存 2 掌握字串的輸入輸出方法 3 掌握字串常用庫函式的使用方法 4 對字串進行基本處理 二 知識要點 1 字串...

實驗7圖及其應用

1 實驗目的 1 了解圖的特點 掌握圖的主要儲存結構。2 學會對幾種常見的圖的儲存結構進行基本操作。3 掌握複雜的資料結構設計方法。4 通過對圖的遍歷操作,理解主要儲存結構的特點。2.實驗內容 1 用圖的鄰接矩陣儲存結構表示圖,實現下列基本操作,通過資料測試每個操作的正確性,包括 1.greateg...