1. 程式人生 > >第2章 Openwrt開發環境搭建

第2章 Openwrt開發環境搭建

2.1硬體環境構建

2.1.1主機與目標板結合的交叉開發模式

開發PC機上的軟體時,可以直接在PC機上編輯、編譯、除錯軟體,最終釋出的軟體也是在PC機上執行。對於物聯網openwrt開發,最初的嵌入式裝置是一個空白的系統,需要通過主機為它構建基本的軟體系統,並燒寫到裝置中;另外,嵌入式裝置的資源並不足以用來開發軟體。所以需要用到交叉開發模式:在主機上編輯、編譯軟體,然後在目標板上執行、驗證程式。對於RT5350開發板,進行物聯網openwrt開發時一般可以分為以下3個步驟。
(1)在主機上編譯U-boot,然後通過SPIFlash燒寫器燒入單板。
通過SPIFlash燒寫器燒寫程式的效率非常低,而且還需要取下Flash晶片,它適用於燒寫空白單板。為方便開發,通常選用具有串列埠傳輸、網路傳輸、燒寫Flash功能的U-boot,它可以快速地從主機獲取可執行程式碼,然後燒入單板。
該U-boot在開發板生產時,已經由工廠燒入到了SPIFlash中。特別強調,在做物聯網openwrt開發時,一般不建議大家自己開發、重新燒寫U-boot!否則,一不小心,開發板就會變成磚頭的哦。
(2)在主機上編譯openwrt,通過U-boot燒入單板或直接啟動。一個可以在單板上執行的openwrt是進行後續開發的基礎。
(3)在主機上編譯各類應用程式,經過驗證後燒入單板。
燒寫、啟動U-boot後,就可以通過U-boot的各類選項來下載、燒寫、執行程式了。啟動Linux後,也是通過執行各種命令來啟動應用程式的。怎麼輸入這些命令、檢視命令執行的結果呢?一般通過串列埠來進行輸入輸出。所以交叉開發模式中,主機與目標板通常需要2種連線:串列埠、網路。

2.1.2硬體要求

1.主機要求

一般的PC機就可以用來進行物聯網openwrt開發,它應該滿足以下要求。
①有一個USB口;
②支援網路;
③至少20GB的硬碟。

因為要通過串列埠來操作Linux,所以得使用USB-串列埠轉換器。該RT5350開發板,已經板載了該轉換器。

2.目標板要求

由於後面會設計到大量的教程、大量的應用的移植,所以建議大家用32MB的記憶體、8MBFlash。所謂的硬體開發環境搭建很簡單,將主機與目標板通過串列埠線(直接用miniUSB線連線主機和目標板即可)、網線(接單板上的任意網口)連線起來,將各類裝置連線到目標板上去即可。

2.2軟體環境構建

2.2.1在Windows上安裝虛擬機器

本書基於Ubuntu12.04進行開發,它是一個很容易安裝和使用的Linux發行版。光碟映象檔案的下載地址為http://releases.ubuntu.com/
安裝方法有好幾種:將映像檔案刻錄成光碟後安裝,通過網路安裝等。對於不熟悉Linux的讀者,可以通過VMware虛擬機器軟體使用映象檔案安裝,這樣可以在Windows中使用Linux──反過來也是可以的,安裝Linux後,再使用VMware安裝windows,這樣就可以在Linux中同時使用Windows了。
這幾種安裝方法基本相同,下面介紹在Windows中通過VMware來安裝Linux的方法。不管是哪種方法,都建議單獨使用一個分割槽來存放本書所涉及的原始碼、編譯結果,這可以避免當系統出錯、系統重灌時破壞學習成果。
從VMware的官方網站

http://www.vmware.com下載到VMware工具,安裝後,參照以下方法安裝、設定Linux。
在VMware中建立一個虛擬機器器,可以想象需要指定硬碟、記憶體、網路。在VMware中可以使用實際的硬碟,也可以使用檔案來模擬硬碟。依照下面的一系列圖形就可以建立了。
1>啟動VMware,如圖2-1所示。選“CreateaNewVirtualMachine”。

這裡寫圖片描述

圖2-1啟動VMware

2>在後續介面中使用預設選項,直到出現如圖2-2所示的介面,在裡面選擇“Custom”
自己定製虛擬機器器。

這裡寫圖片描述

圖2-2選擇定製虛擬機器

3>選擇虛擬機器的格式,使用預設選項即可,如圖2-3所示。選擇客戶作業系統,選擇“Iwillinstalltheoperatingsystemlater.”,如圖2.4所示。
這裡寫圖片描述

圖2-3選擇虛擬機器的格式

這裡寫圖片描述

圖2-4選擇客戶作業系統

4>在Windows中使用VMware安裝Linux,Windows被稱為“HostOperatinsSystem”(主機作業系統),Linux被稱為“GestOperatinsSystem”(客戶作業系統)。選擇Linux作為客戶作業系統,版本為“Ubuntu”,如圖2-5所示。
這裡寫圖片描述

圖2-5選擇客戶作業系統

5>設定虛擬機器的名字及儲存位置,如圖2-6所示。
這裡寫圖片描述

圖2-6設定虛擬機器的名字及儲存位置

6>指定處理器個數(根據自己的實際情況設定),如圖2-7所示。指定虛擬機器的記憶體容量,在圖2.8所示的介面中有推薦值及取值範
這裡寫圖片描述

圖2-7指定處理器個數

這裡寫圖片描述

圖2-8指定虛擬機器的記憶體容量

7>指定虛擬機器的網路連線型別,一般使用橋接方式(bridgenetworking),如圖2-9所示。安裝完華後可以再進行修改。
這裡寫圖片描述

圖2-9指定虛擬機器的網路連線型別

8>選擇“I/OAdapter”,使用預設值,如圖2-10所示。
這裡寫圖片描述

圖2-10選擇“I/OAdapter”

9>圖1-11、1-12、1-13、1-14共4個圖都是用來建立虛擬硬碟。在圖1-13中,為了方便管理,建議選擇“storagevirtualdiskasasinglefile”。
這裡寫圖片描述

圖2-11選擇建立新的虛擬硬碟

這裡寫圖片描述

圖2-12選擇硬碟(使用預設型別)

這裡寫圖片描述

圖2-13指定硬碟容量

2.2.2在虛擬機器上安裝Linux

本書使用Ubuntu12.04的光碟檔案ubuntu-12.04.1-desktop-i386.iso檔案進行安裝。下面簡單介紹關鍵步驟,其他步驟可以參看安裝時出現的說明。
1>在虛擬機器上使用光碟檔案。如圖2-16所示,進入虛擬機器的編輯介面,選中“CD/DVD”,在右邊的介面中,選擇“Connnect atpoweron”(表示開啟虛擬機器時就連線光碟);然後選擇“UseISOimage”,如果有實際的光碟,可以選擇“Usephysicaldrive”。

這裡寫圖片描述

圖2.16在虛擬機器上使用光碟檔案

2>啟動虛擬機器,它使用前面設定的光碟檔案啟動,這時候即可開始安裝Linux。如圖2-17所示,在虛擬機器啟動後,桌面有個名為“installUbuntu”的圖示,單擊它進行安裝。接著出現圖2-18所示介面,使用預設設定,點“Continue”。當出現如圖2-19所示的介面時,選擇“ErasediskandinstallUbuntu”。
注意:在VMware的作業系統中,要將滑鼠釋放出來(回到Windows中),按“Ctrl+Alt”鍵即可。
這裡寫圖片描述

圖2-17通過“手動”來使用硬碟

這裡寫圖片描述

圖2-18條件檢查

這裡寫圖片描述

圖2-19安裝型別

3>在緊接著出現的介面中單擊“installnow”,如圖2-20所示。
這裡寫圖片描述

圖2.20準備分割槽

4>然後在後續的介面中使用預設值,安裝程式會進行格式化虛擬硬碟等操作。當出現如圖2-21所示的介面時,在裡面設定使用者名稱及密碼。
這裡寫圖片描述

圖2-21設定使用者名稱和密碼

5>繼續往下,開始安裝系統。當安裝完成時,出現如圖2-22所示的介面:
這裡寫圖片描述

圖2-22安裝結束

這時候從VMware的選單“VM”->“Setting…”進入虛擬機器的設定介面,在“CD-ROM”的設定介面去掉“Connnectatpoweron”(參考圖2-16)。然後點選Linux安裝介面的“Restart now”即可(如果不能重啟,直接關閉VMware後再啟動)。

2.2.3主機Linux作業系統上網路服務的配置與啟動

配置Linux,啟動ftp、ssh這2個服務。如果不是通過遠端登入Linux,而是直接在Linux中進行開發,則ftp、ssh這兩個服務不用開啟。
(1)準備使用軟體維護工具apt-get。
Ubuntu12.04中沒有安裝ftp、ssh、nfs伺服器軟體,它提供了一個很方便的安裝、升級、維護軟體的工具:apt-get。apt-get從光碟、網路上下載程式,並安裝。所以要使用apt-get,通常要保證Linux能上網。
第一次使用apt-get來安裝程式之前,要先完成以下兩件事:
①修改/etc/apt/sources.list,將其中註釋掉的網址開啟在安裝Ubuntu12.04的時候,如果網路無法使用,它會自動將/etc/apt/sources.list中各項註釋掉。比如需要將以下兩行開頭的“#”號去掉:
#deb http://cn.archive.ubuntu.com/ubuntu/gutsymainrestricted
#deb-src http://cn.archive.ubuntu.com/ubuntu/gutsymainrestricted
……
注意:
由於/etc/apt/sources.list屬於root使用者,而Ubuntu12.04中遮蔽了root使用者的使
用,要修改它,需要使用sudo命令。比如可以使用“sudo vi/etc/apt/sources.list”來修改它,或者使用“sudo gedit&”命令啟動圖形化的文字編輯器,再開啟、編輯它。
②更新可用的程式列表
執行如下命令即可,它只是更新內部的資料庫以確定:有哪些程式已經安裝、哪些沒有安裝、哪些有新版本。apt-get程式將使用這個資料庫來確定怎樣安裝使用者指定的程式,並找到和安裝它所依賴的其他程式。下面的指令

 sudo apt-get update

(2)安裝、配置、啟動服務。
首先說明,Ubuntu7.10中隱藏了root使用者,就是說不能使用root使用者登入,這可以避免不小心使用root許可權而導致系統崩潰。當需要使用root許可權時,使用“sudo”命令,比如要修改/etc/exports檔案時,修改如下所示:

sudo vi /etc/exports

現在可以使用apt-get來安裝軟體了,以下的安裝、配置、啟動方法在Ubuntu7.10自帶的幫助文件中都有說明:
① 安裝、配置、啟動ftp服務。
執行以下命令安裝,安裝後即會自動執行:

sudo apt-get install vsftpd

修改vsftpd的配置檔案/etc/vsftpd.conf,將下面幾行前面的“#”號去掉。

 #local_enable=YES
 #write_enable=YES

上面第一行表示是否允許本地使用者登入,第二行表示是否允許上傳檔案。
修改完華之後,執行以下命令重啟ftp服務:

sudo /etc/init.d/vsftpd restart    

② 安裝、配置、啟動ssh服務。
執行以下命令安裝,安裝後即會自動執行:

sudo apt-get install open ssh-server

它的配置檔案為/etc/ssh/sshd_config,使用預設配置即可。

2.2.4 Ubuntu和Windows互傳檔案

1)虛擬機器->設定->共享資料夾

這裡寫圖片描述

圖2-23

2)選擇下一步,然後選擇共享資料夾路徑
這裡寫圖片描述

圖2-24

再下一步->完成就可。
3)進行軟連結
輸入命令:
ln  –s  /mnt/hgfs/share

好了,現在Ubuntu和Windows就能互傳檔案了。

2.2.5修改Linux的計算機名

1)修改/etc/hostname

sudo vim /etc/hostname

將檔案中的內容改為自己想設定的名字。
2) sudo vim /etc/hosts
將檔案中127.0.1.1後面內容改為自己剛才設定的名字。

相關推薦

no