1 硬件環(huán)境構(gòu)建
1.1 主機(jī)與目標(biāo)板結(jié)合的交叉開(kāi)發(fā)模式
開(kāi)發(fā)PC機(jī)上的軟件時(shí),可以直接在PC機(jī)上編輯、編譯、調(diào)試軟件,最終發(fā)布的軟件也是在PC機(jī)上運(yùn)行。對(duì)于物聯(lián)網(wǎng)OpenWrt開(kāi)發(fā),最初的嵌入式設(shè)備是一個(gè)空白的系統(tǒng),需要通過(guò)主機(jī)為它構(gòu)建基本的軟件系統(tǒng),并燒寫(xiě)到設(shè)備中;另外,嵌入式設(shè)備的資源并不足以用來(lái)開(kāi)發(fā)軟件。所以需要用到交叉開(kāi)發(fā)模式:在主機(jī)上編輯、編譯軟件,然后在目標(biāo)板上運(yùn)行、驗(yàn)證程序。對(duì)于MT7621等開(kāi)發(fā)板,進(jìn)行物聯(lián)網(wǎng)OpenWrt開(kāi)發(fā)時(shí)一般可以分為以下3個(gè)步驟。
(1)在主機(jī)上編譯U-boot,然后通過(guò)SPIFlash燒寫(xiě)器燒入單板。
通過(guò)SPIFlash燒寫(xiě)器燒寫(xiě)程序的效率非常低,而且還需要取下Flash芯片,它適用于燒寫(xiě)空白單板。為方便開(kāi)發(fā),通常選用具有串口傳輸、網(wǎng)絡(luò)傳輸、燒寫(xiě)Flash功能的U-boot,它可以快速地從主機(jī)獲取可執(zhí)行代碼,然后燒入單板。
該U-boot在開(kāi)發(fā)板生產(chǎn)時(shí),已經(jīng)由工廠(chǎng)燒入到了SPIFlash中。特別強(qiáng)調(diào),在做物聯(lián)網(wǎng)openwrt開(kāi)發(fā)時(shí),一般不建議大家自己開(kāi)發(fā)、重新燒寫(xiě)U-boot!否則,一不小心,開(kāi)發(fā)板就會(huì)變成磚頭的哦。
(2)在主機(jī)上編譯OpenWrt,通過(guò)U-boot燒入單板或直接啟動(dòng)。一個(gè)可以在單板上運(yùn)行的OpenWrt是進(jìn)行后續(xù)開(kāi)發(fā)的基礎(chǔ)。
(3)在主機(jī)上編譯各類(lèi)應(yīng)用程序,經(jīng)過(guò)驗(yàn)證后燒入單板。
燒寫(xiě)、啟動(dòng)U-boot后,就可以通過(guò)U-boot的各類(lèi)選項(xiàng)來(lái)下載、燒寫(xiě)、運(yùn)行程序了。啟動(dòng)Linux后,也是通過(guò)執(zhí)行各種命令來(lái)啟動(dòng)應(yīng)用程序的。怎么輸入這些命令、查看命令運(yùn)行的結(jié)果呢?一般通過(guò)串口來(lái)進(jìn)行輸入輸出。所以交叉開(kāi)發(fā)模式中,主機(jī)與目標(biāo)板通常需要2種連接:串口、網(wǎng)絡(luò)。
1.2 硬件要求
1.主機(jī)要求
一般的PC機(jī)就可以用來(lái)進(jìn)行物聯(lián)網(wǎng)OpenWrt開(kāi)發(fā),它應(yīng)該滿(mǎn)足以下要求。
①有一個(gè)USB口;
②支持網(wǎng)絡(luò);
③至少20GB的硬盤(pán)。
2.目標(biāo)板要求
由于后面會(huì)設(shè)計(jì)到大量的教程、大量的應(yīng)用的移植,所以建議大家用512MB的內(nèi)存、32MBFlash。所謂的硬件開(kāi)發(fā)環(huán)境搭建很簡(jiǎn)單,將主機(jī)與目標(biāo)板通過(guò)串口線(xiàn)(直接用miniUSB線(xiàn)連接主機(jī)和目標(biāo)板即可)、網(wǎng)線(xiàn)(接單板上的任意網(wǎng)口)連接起來(lái),將各類(lèi)設(shè)備連接到目標(biāo)板上去即可。
2 軟件環(huán)境構(gòu)建
2.1在Windows上安裝虛擬機(jī)
本書(shū)基于Ubuntu16.04進(jìn)行開(kāi)發(fā),它是一個(gè)很容易安裝和使用的Linux發(fā)行版。光盤(pán)映象文件的下載地址為http://releases.ubuntu.com/。
安裝方法有好幾種:將映像文件刻錄成光盤(pán)后安裝,通過(guò)網(wǎng)絡(luò)安裝等。對(duì)于不熟悉Linux的讀者,可以通過(guò)VMware虛擬機(jī)軟件使用映象文件安裝,這樣可以在Windows中使用Linux──反過(guò)來(lái)也是可以的,安裝Linux后,再使用VMware安裝windows,這樣就可以在Linux中同時(shí)使用Windows了。
這幾種安裝方法基本相同,下面介紹在Windows中通過(guò)VMware來(lái)安裝Linux的方法。不管是哪種方法,都建議單獨(dú)使用一個(gè)分區(qū)來(lái)存放本書(shū)所涉及的源碼、編譯結(jié)果,這可以避免當(dāng)系統(tǒng)出錯(cuò)、系統(tǒng)重裝時(shí)破壞學(xué)習(xí)成果。
從VMware的官方網(wǎng)站http://www.vmware.com下載到VMware工具,安裝后,參照以下方法安裝、設(shè)置Linux。
在VMware中建立一個(gè)虛擬機(jī)器,可以想象需要指定硬盤(pán)、內(nèi)存、網(wǎng)絡(luò)。在VMware中可以使用實(shí)際的硬盤(pán),也可以使用文件來(lái)模擬硬盤(pán)。依照下面的一系列圖形就可以建立了。
【注】筆者使用虛擬機(jī)軟件是VMware Workstation 15.5,其他版本同理。關(guān)于VMware Workstation的安裝筆者就不詳述了,網(wǎng)上資料很多,自行查找吧。
2.2 VMware上安裝Ubuntu16.04教程
Ubuntu安裝鏡像版本號(hào):ubuntu-16.04.6-desktop-amd64
ubuntu下載地址:http://releases.ubuntu.com/16.04/
【注】下載源有很多,自行查找吧。
首先我們要安裝虛擬機(jī),這里不多做介紹,假設(shè)大家電腦上都已經(jīng)安裝了虛擬機(jī),這里以VMware 15.5中文版為安裝介紹對(duì)象。首先打開(kāi)虛擬機(jī)。
第一步:打開(kāi)虛擬機(jī)
第二步:這里便來(lái)到了home頁(yè),點(diǎn)擊打開(kāi)“創(chuàng)建新的虛擬機(jī)”。
第三步:這里我選擇“自定義”安裝,當(dāng)然你也可以選擇“典型”,然后點(diǎn)擊“下一步”。
第四步:來(lái)到兼容性頁(yè)面,這里不用設(shè)置,直接按默認(rèn)來(lái)就行,點(diǎn)擊下一步。
第五步:這里來(lái)到了客戶(hù)機(jī)操作系統(tǒng)選擇頁(yè)面,我在這里選擇“安裝光盤(pán)鏡像文件”選項(xiàng),在下框里選擇鏡像文件所在的位置,點(diǎn)擊“下一步”。
第六步:簡(jiǎn)易安裝信息界面,這里補(bǔ)充完整信息點(diǎn)擊“下一步”。
【注意】這個(gè)地方已經(jīng)設(shè)置了登錄用的用戶(hù)名密碼,所以好多人在安裝完成之后不知道登錄的用戶(hù)名密碼是什么,就是這個(gè)地方填的。
第七步:命名虛擬機(jī)頁(yè)面,我們選擇虛擬機(jī)的名字,并選擇虛擬機(jī)要安裝的位置,盡量選擇比較空閑的盤(pán)符,點(diǎn)擊下一步。
第八步:這里根據(jù)你的電腦配置定吧,點(diǎn)擊“下一步”。
第九步:這里選擇虛擬機(jī)內(nèi)存的大小,我按這里的推薦設(shè)置來(lái),你也可以按照上面所說(shuō)的規(guī)則來(lái)自己調(diào)整,點(diǎn)擊“下一步”。
第十步:這里我直接選擇橋接網(wǎng)絡(luò)(這樣網(wǎng)速會(huì)快些),當(dāng)然待會(huì)在虛擬機(jī)里也可以改動(dòng)的。
第十一步:接下來(lái)我們直接按推薦設(shè)置來(lái)就可以了, 一路點(diǎn)擊“下一步” ,直到“完成”。
第十二步:磁盤(pán)空間大小建議是20g以上,筆者這里選擇了50g,設(shè)置好后點(diǎn)擊下一步;
單擊【下一步】后,再單擊【完成】。
第十三步:等待安裝完成即可。
2.3主機(jī)Linux操作系統(tǒng)上網(wǎng)絡(luò)服務(wù)的配置與啟動(dòng)
配置Linux,啟動(dòng)ftp、ssh這2個(gè)服務(wù)。如果不是通過(guò)遠(yuǎn)程登錄Linux,而是直接在Linux中進(jìn)行開(kāi)發(fā),則ftp、ssh這兩個(gè)服務(wù)不用開(kāi)啟。
(1)準(zhǔn)備使用軟件維護(hù)工具apt-get。
Ubuntu16.04中沒(méi)有安裝ftp、ssh、nfs服務(wù)器軟件,它提供了一個(gè)很方便的安裝、升級(jí)、維護(hù)軟件的工具:apt-get。apt-get從光盤(pán)、網(wǎng)絡(luò)上下載程序,并安裝。所以要使用apt-get,通常要保證Linux能上網(wǎng)。
第一次使用apt-get來(lái)安裝程序之前,要先完成以下兩件事:
①修改/etc/apt/sources.list,將其中注釋掉的網(wǎng)址打開(kāi)在安裝Ubuntu12.04的時(shí)候,如果網(wǎng)絡(luò)無(wú)法使用,它會(huì)自動(dòng)將/etc/apt/sources.list中各項(xiàng)注釋掉。比如需要將以下兩行開(kāi)頭的“#”號(hào)去掉:
#deb http://cn.archive.ubuntu.com/ubuntu/gutsymainrestricted
#deb-src http://cn.archive.ubuntu.com/ubuntu/gutsymainrestricted
……
注意:由于/etc/apt/sources.list屬于root用戶(hù),而Ubuntu12.04中屏蔽了root用戶(hù)的使用,要修改它,需要使用sudo命令。比如可以使用“sudo vi/etc/apt/sources.list”來(lái)修改它,或者使用“sudo gedit&”命令啟動(dòng)圖形化的文本編輯器,再打開(kāi)、編輯它。
②更新可用的程序列表
執(zhí)行如下命令即可,它只是更新內(nèi)部的數(shù)據(jù)庫(kù)以確定:有哪些程序已經(jīng)安裝、哪些沒(méi)有安裝、哪些有新版本。apt-get程序?qū)⑹褂眠@個(gè)數(shù)據(jù)庫(kù)來(lái)確定怎樣安裝用戶(hù)指定的程序,并找到和安裝它所依賴(lài)的其他程序。下面的指令。
$sudo apt-get update
(2)安裝、配置、啟動(dòng)服務(wù)。
首先說(shuō)明,Ubuntu中隱藏了root用戶(hù),就是說(shuō)不能使用root用戶(hù)登錄,這可以避免不小心使用root權(quán)限而導(dǎo)致系統(tǒng)崩潰。當(dāng)需要使用root權(quán)限時(shí),使用“sudo”命令,比如要修改/etc/exports文件時(shí),修改如下所示:
$sudo vi /etc/exports
現(xiàn)在可以使用apt-get來(lái)安裝軟件了,以下的安裝、配置、啟動(dòng)方法在Ubuntu7.10自帶的幫助文檔中都有說(shuō)明。
安裝、配置、啟動(dòng)ftp服務(wù)。
執(zhí)行以下命令安裝,安裝后即會(huì)自動(dòng)運(yùn)行:
$sudo apt-get install vsftpd
修改vsftpd的配置文件/etc/vsftpd.conf,將下面幾行前面的“#”號(hào)去掉。
#local_enable=YES
#write_enable=YES
上面第一行表示是否允許本地用戶(hù)登錄,第二行表示是否允許上傳文件。
修改完華之后,執(zhí)行以下命令重啟ftp服務(wù):
$sudo /etc/init.d/vsftpd restart
安裝、配置、啟動(dòng)ssh服務(wù)。
執(zhí)行以下命令安裝,安裝后即會(huì)自動(dòng)運(yùn)行:
$sudo apt-get install open ssh-server
它的配置文件為/etc/ssh/sshd_config,使用默認(rèn)配置即可。
2.4 Ubuntu和Windows互傳文件
1)虛擬機(jī)->設(shè)置->共享文件夾
2)選擇【下一步】,然后選擇共享文件夾路徑
再點(diǎn)擊【下一步】->【完成】就可。
3)進(jìn)行軟鏈接
進(jìn)入虛擬機(jī),進(jìn)入home目錄,輸入命令:
$ln -s /mnt/hgfs/share
好了,現(xiàn)在Ubuntu和Windows就能互傳文件了。
2.5 修改Linux的計(jì)算機(jī)名
1)修改/etc/hostname
$sudo vim /etc/hostname
將文件中的內(nèi)容改為自己想設(shè)置的名字。
- sudo vim /etc/hosts
將文件中127.0.1.1后面內(nèi)容改為自己剛才設(shè)置的名字。
重啟生效!
審核編輯:湯梓紅
-
FlaSh
+關(guān)注
關(guān)注
10文章
1635瀏覽量
148016 -
u-boot
+關(guān)注
關(guān)注
0文章
121瀏覽量
38227 -
開(kāi)發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
225瀏覽量
16617 -
編譯
+關(guān)注
關(guān)注
0文章
657瀏覽量
32870 -
OpenWrt
+關(guān)注
關(guān)注
10文章
130瀏覽量
39304
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論