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文章
1644瀏覽量
148754 -
u-boot
+關注
關注
0文章
121瀏覽量
38329 -
開發環境
+關注
關注
1文章
230瀏覽量
16710 -
編譯
+關注
關注
0文章
662瀏覽量
33067 -
OpenWrt
+關注
關注
10文章
130瀏覽量
39482
發布評論請先 登錄
相關推薦
Openwrt開發指南 第1章 OpenWrt入門
Openwrt開發指南 第3章 OpenWrt下載及配置
Openwrt開發指南 第4章 燒寫OpenWrt固件
Openwrt開發指南 第7章 添加Web界面
Openwrt開發指南 第12章 添加OpenWrt軟件包
Openwrt開發指南 第13章 OpenWrt啟動流程
Openwrt開發指南 第17章 驅動開發之字符設備驅動程序
Openwrt開發指南 第22章 Openwrt串口的使用2
Openwrt開發指南 第29章 OpenWrt 防火墻介紹
![<b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> <b class='flag-5'>第</b>29<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b> 防火墻介紹](https://file1.elecfans.com/web2/M00/8C/D1/wKgaomSyVr-AB38EAACpb5ioTgU243.png)
評論