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)由工廠燒入到了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)該滿足以下要求。
①有一個(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ò)串口線(直接用miniUSB線連接主機(jī)和目標(biāo)板即可)、網(wǎng)線(接單板上的任意網(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)到了客戶機(jī)操作系統(tǒng)選擇頁(yè)面,我在這里選擇“安裝光盤(pán)鏡像文件”選項(xiàng),在下框里選擇鏡像文件所在的位置,點(diǎn)擊“下一步”。
第六步:簡(jiǎn)易安裝信息界面,這里補(bǔ)充完整信息點(diǎn)擊“下一步”。
【注意】這個(gè)地方已經(jīng)設(shè)置了登錄用的用戶名密碼,所以好多人在安裝完成之后不知道登錄的用戶名密碼是什么,就是這個(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用戶,而Ubuntu12.04中屏蔽了root用戶的使用,要修改它,需要使用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)確定怎樣安裝用戶指定的程序,并找到和安裝它所依賴的其他程序。下面的指令。
$sudo apt-get update
(2)安裝、配置、啟動(dòng)服務(wù)。
首先說(shuō)明,Ubuntu中隱藏了root用戶,就是說(shuō)不能使用root用戶登錄,這可以避免不小心使用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
上面第一行表示是否允許本地用戶登錄,第二行表示是否允許上傳文件。
修改完華之后,執(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文章
1702瀏覽量
154250 -
u-boot
+關(guān)注
關(guān)注
0文章
122瀏覽量
39321 -
開(kāi)發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
245瀏覽量
17470 -
編譯
+關(guān)注
關(guān)注
0文章
682瀏覽量
34869 -
OpenWrt
+關(guān)注
關(guān)注
10文章
133瀏覽量
40687
發(fā)布評(píng)論請(qǐng)先 登錄
Openwrt開(kāi)發(fā)指南 第25章 配置OpenWrt支持網(wǎng)絡(luò)攝像頭
Openwrt開(kāi)發(fā)指南 第1章 OpenWrt入門(mén)
Openwrt開(kāi)發(fā)指南 第3章 OpenWrt下載及配置
Openwrt開(kāi)發(fā)指南 第7章 添加Web界面
Openwrt開(kāi)發(fā)指南 第12章 添加OpenWrt軟件包
Openwrt開(kāi)發(fā)指南 第13章 OpenWrt啟動(dòng)流程
Openwrt開(kāi)發(fā)指南 第17章 驅(qū)動(dòng)開(kāi)發(fā)之字符設(shè)備驅(qū)動(dòng)程序
Openwrt開(kāi)發(fā)指南 第22章 Openwrt串口的使用2
Openwrt開(kāi)發(fā)指南 第29章 OpenWrt 防火墻介紹
【W(wǎng)RTnode2R試用體驗(yàn)】Openwrt簡(jiǎn)介和開(kāi)發(fā)環(huán)境搭建
【檸檬分享】Openwrt環(huán)境搭建
RT5350 Wi-Fi 模塊開(kāi)發(fā)指導(dǎo)_物聯(lián)網(wǎng) openwrt 開(kāi)發(fā)概述
openwrt都有什么功能_openwrt詳細(xì)功能介紹_openwrt刷機(jī)教程

Openwrt開(kāi)發(fā)指南 第2章 OpenWrt開(kāi)發(fā)環(huán)境搭建
評(píng)論