1 硬件環境構建
1.1 主機與目標板結合的交叉開發模式
開發PC機上的軟件時,可以直接在PC機上編輯、編譯、調試軟件,最終發布的軟件也是在PC機上運行。對于物聯網OpenWrt開發,最初的嵌入式設備是一個空白的系統,需要通過主機為它構建基本的軟件系統,并燒寫到設備中;另外,嵌入式設備的資源并不足以用來開發軟件。所以需要用到交叉開發模式:在主機上編輯、編譯軟件,然后在目標板上運行、驗證程序。對于MT7621等開發板,進行物聯網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種連接:串口、網絡。
1.2 硬件要求
1.主機要求
一般的PC機就可以用來進行物聯網OpenWrt開發,它應該滿足以下要求。
①有一個USB口;
②支持網絡;
③至少20GB的硬盤。
2.目標板要求
由于后面會設計到大量的教程、大量的應用的移植,所以建議大家用512MB的內存、32MBFlash。所謂的硬件開發環境搭建很簡單,將主機與目標板通過串口線(直接用miniUSB線連接主機和目標板即可)、網線(接單板上的任意網口)連接起來,將各類設備連接到目標板上去即可。
2 軟件環境構建
2.1在Windows上安裝虛擬機
本書基于Ubuntu16.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中可以使用實際的硬盤,也可以使用文件來模擬硬盤。依照下面的一系列圖形就可以建立了。
【注】筆者使用虛擬機軟件是VMware Workstation 15.5,其他版本同理。關于VMware Workstation的安裝筆者就不詳述了,網上資料很多,自行查找吧。
2.2 VMware上安裝Ubuntu16.04教程
Ubuntu安裝鏡像版本號:ubuntu-16.04.6-desktop-amd64
ubuntu下載地址:http://releases.ubuntu.com/16.04/
【注】下載源有很多,自行查找吧。
首先我們要安裝虛擬機,這里不多做介紹,假設大家電腦上都已經安裝了虛擬機,這里以VMware 15.5中文版為安裝介紹對象。首先打開虛擬機。
第一步:打開虛擬機
第二步:這里便來到了home頁,點擊打開“創建新的虛擬機”。
第三步:這里我選擇“自定義”安裝,當然你也可以選擇“典型”,然后點擊“下一步”。
第四步:來到兼容性頁面,這里不用設置,直接按默認來就行,點擊下一步。
第五步:這里來到了客戶機操作系統選擇頁面,我在這里選擇“安裝光盤鏡像文件”選項,在下框里選擇鏡像文件所在的位置,點擊“下一步”。
第六步:簡易安裝信息界面,這里補充完整信息點擊“下一步”。
【注意】這個地方已經設置了登錄用的用戶名密碼,所以好多人在安裝完成之后不知道登錄的用戶名密碼是什么,就是這個地方填的。
第七步:命名虛擬機頁面,我們選擇虛擬機的名字,并選擇虛擬機要安裝的位置,盡量選擇比較空閑的盤符,點擊下一步。
第八步:這里根據你的電腦配置定吧,點擊“下一步”。
第九步:這里選擇虛擬機內存的大小,我按這里的推薦設置來,你也可以按照上面所說的規則來自己調整,點擊“下一步”。
第十步:這里我直接選擇橋接網絡(這樣網速會快些),當然待會在虛擬機里也可以改動的。
第十一步:接下來我們直接按推薦設置來就可以了, 一路點擊“下一步” ,直到“完成”。
第十二步:磁盤空間大小建議是20g以上,筆者這里選擇了50g,設置好后點擊下一步;
單擊【下一步】后,再單擊【完成】。
第十三步:等待安裝完成即可。
2.3主機Linux操作系統上網絡服務的配置與啟動
配置Linux,啟動ftp、ssh這2個服務。如果不是通過遠程登錄Linux,而是直接在Linux中進行開發,則ftp、ssh這兩個服務不用開啟。
(1)準備使用軟件維護工具apt-get。
Ubuntu16.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)安裝、配置、啟動服務。
首先說明,Ubuntu中隱藏了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.4 Ubuntu和Windows互傳文件
1)虛擬機->設置->共享文件夾
2)選擇【下一步】,然后選擇共享文件夾路徑
再點擊【下一步】->【完成】就可。
3)進行軟鏈接
進入虛擬機,進入home目錄,輸入命令:
$ln -s /mnt/hgfs/share
好了,現在Ubuntu和Windows就能互傳文件了。
2.5 修改Linux的計算機名
1)修改/etc/hostname
$sudo vim /etc/hostname
將文件中的內容改為自己想設置的名字。
- sudo vim /etc/hosts
將文件中127.0.1.1后面內容改為自己剛才設置的名字。
重啟生效!
審核編輯:湯梓紅
-
FlaSh
+關注
關注
10文章
1621瀏覽量
147745 -
u-boot
+關注
關注
0文章
120瀏覽量
38199 -
開發環境
+關注
關注
1文章
221瀏覽量
16586 -
編譯
+關注
關注
0文章
653瀏覽量
32806 -
OpenWrt
+關注
關注
10文章
127瀏覽量
39266
發布評論請先 登錄
相關推薦
評論