天天看點

《嵌入式 Linux應用程式開發标準教程(第2版)》——2.4 實驗内容

本節書摘來異步社群《嵌入式 linux應用程式開發标準教程(第2版)》一書中的第2章,第2.4節,作者:華清遠見嵌入式教育訓練中心,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

嵌入式 linux應用程式開發标準教程(第2版)

1.實驗目的

在linux下安裝一個完整的軟體(嵌入式linux的必備工具——交叉編譯工具),掌握linux常見指令,學會設定環境變量,同時搭建起嵌入式linux的交叉編譯環境(關于交叉編譯的具體概念在本書後面會詳細講解),為今後的實驗打下良好的基礎。

2.實驗内容

在linux中解壓cross-3.3.2.tar.bz2,并添加到系統環境變量中去。

3.實驗步驟

(1)将CD光牒中的cross-3.3.2.tar.bz2複制到windows下的任意盤中。

(2)重新開機機器轉到linux下,并用普通使用者身份登入。

(3)打開“終端”,并切換到超級使用者模式下。

(4)檢視cross-3.3.2.tar.bz2所在的windows下對應分區的格式,并記下其檔案裝置名稱,如“/dev/hda1”等。

(5)使用mkdir指令在“/mnt”建立子目錄作為挂載點。

(6)挂載windows相應分區。

注意

由于ntfs格式在linux的早期版本中是不安全的,隻能讀,不能寫,是以最好把檔案放到fat32格式的檔案系統中。

(7)進入挂載目錄,檢視是否确實挂載上。

(8)在/usr/local下建一個名為arm的目錄。

(9)将cross-3.3.2.tar.bz2複制到剛剛建立的目錄中。

若cross-3.3.2.tar.bz2在目前目錄中,則可将指令簡寫為:cp ./cross-3.3.2.tar.bz2 /usr/local/arm。

(10)将目前工作目錄轉到“/usr/local/arm”下。

指令為:cd /usr/local/arm

boll想一想

為什麼要将此目錄建立在“/usr/local”下?

(11)解壓縮該軟體包。

指令為:tar jxvf cross-3.3.2.tar.bz2

(12)将此目錄下的/bin目錄添加到環境變量中去。

指令為:export path=/usr/local/arm/3.3.2/bin :$path

0162注意

用此方法添加的環境變量在掉電後會丢失,是以,可以在“/etc/bashrc”的最後一行添加以上指令。

(13)檢視該路徑是否已添加到環境變量中。

指令為:echo $path

4.實驗結果

成功搭建了嵌入式linux的交叉編譯環境,熟悉linux下常用指令,如su、mkdir、mount、cp、tar等,并學會添加環境變量,同時對linux的目錄結構有了更進一步的了解。

2.4.2 定制linux系統服務

通過定制linux系統服務,進一步了解linux的守護程序,能夠更加熟練運用linux操作基本指令,同時也加深對init程序的了解和掌握。

檢視linux系統服務,并定制其系統服務。

(1)檢視系統的預設運作級别。

指令為:cat /etc/inittab(假設目前運作級别為n)

(2)進入相應級别的服務腳本目錄,檢視哪些服務是系統啟動的獨立運作的服務,并做下記錄。

指令為:cd /etc/rc.d/rcn.d

(3)利用指令檢視系統開機自啟動服務,與上次檢視結果進行比較,找出其中的差別,并思考其中的原因。

指令為:chkconfig –list

(4)記錄chkconfig –list指令中由xinet管理的服務,并将其中啟動的服務做下記錄。

(5)進入xinet配置管理的相應目錄,檢視是否與chkconfig –list所得的結果相吻合,并檢視相應腳本檔案。

指令為:cd /etc/xinetd.d

(6)将sshd服務停止。

指令為:service sshd stop

(7)将sshd服務設定為開機不啟動。

指令為:chkconfig –level n sshd stop

(8)檢視該設定是否生效。

(9)檢視系統中所有服務及其端口号清單。

指令為:cat /etc/services

(10)将sshd服務端口号改為4022。

指令為:vi /etc/services

(11)重新開機sshd服務,驗證所改的端口号是否生效。

指令為:service sshd start

(12)重新開機linux系統,驗證所改的服務開機啟動是否生效。

4.實驗結果分析

本實驗通過驗證linux系統服務的啟動狀态,進一步明确linux系統服務啟動的流程,更深入地了解了linux系統操作。

本實驗還通過定制linux系統服務sshd的開機啟動狀态和端口号,熟悉了linux的系統定制步驟。

繼續閱讀