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後面內容改為自己剛才設定的名字。

相關推薦

2 Openwrt開發環境搭建

2.1硬體環境構建 2.1.1主機與目標板結合的交叉開發模式 開發PC機上的軟體時,可以直接在PC機上編輯、編譯、除錯軟體,最終釋出的軟體也是在PC機上執行。對於物聯網openwrt開發,最初的嵌入式裝置是一個空白的系統,需要通過主機為它構建基本的軟體系

1 Java開發環境搭建

Java開發環境搭建 1 Java概述 眾所周知Java是一門程式語言,程式語言就是用來編寫軟體的。那麼使用Java到底能用來編寫什麼軟體呢?你所熟知的很多軟體都可以用Java來編寫,例如:QQ、迅雷、淘寶、京東等等,那麼Java比較擅長什麼呢?也就是說我們將來從事Ja

2-5 vue開發環境搭建

1. 安裝webstorm 2.安裝nodejs 檢視安裝的版本   3. cnpm  https://npm.taobao.org/ cmd 裡執行   npm install -g cnpm --registry=http

《跟菜鳥學Cisco UC部署實戰》- 2 部署基本環境(一共12,免費)

連結:https://pan.baidu.com/s/1gRSgM36xdOwA8tnX4YIRfA 提取碼:4dvs 複製這段內容後開啟百度網盤手機App,操作更方便哦 《跟菜鳥學Cisco UC部署實戰》-視訊課程http://edu.51cto.com/course/10031.html

1.2 Go語言開發環境搭建

開發環境搭建 下載地址 解除安裝過程如下: 點選設定 點選應用 找到go之後點選解除安裝 解除安裝過程如下 安裝過程如下 雙擊go1.9.2

Spark2.2,IDEA,Maven開發環境搭建附測試

前言:   停滯了一段時間,現在要沉下心來學習點東西,出點貨了。   本文沒有JavaJDK ScalaSDK和 IDEA的安裝過程,網路上會有很多文章介紹這個內容,因此這裡就不再贅述。 一、在IDEA上安裝Scala外掛 首先開啟IDEA,進入最初的視窗,選擇C

我的openwrt學習筆記(二):OpenWrt 開發環境搭建

首先我們首選的OpenWrt 編譯環境是 Ubuntu,並且應儘量選擇穩定的LTS版本,而不是更高版本的。這裡我們推薦使用 Ubuntu 12.04 LTS或者Ubuntu 14.04 LTS作為編譯平臺,此平臺必須要能穩定地接入網路。我們推薦您使用以下或更高的硬體配置:

Android NDK 開發(五)AndroidStudio 2.2 NDK的開發環境搭建

前言 之前一直在用Eclipse 做開發,直到今年年初才將專案遷移到Google 推薦的AndroidStudio上面,畢竟這是一個趨勢,可誰知道事情根本沒有我想的那麼簡單,這期間遇到了N多坑,我想這些坑可能大家也有可能遇到,不在這裡詳細敘述。最終一個個問題的

Extjs6.2系列之開發環境搭建

Extjs6.2環境的搭建跟Extjs4.2有所不同,sencha公司推出了shencha cmd這款工具可以方便的搭建一個Extjs Mvc專案。使用cmd的最直接的兩個好處就是可以生成程式碼框架和針對性的對你的ext專案編譯。你可以通過Sencha cmd的命令直接是生

Hadoop-2.8.0 開發環境搭建(Mac)

Hadoop是一個由Apache基金會開發的分散式系統架構,簡稱HDFS,具有高容錯性、可伸縮性等特點,並且可以部署在低配置的硬體上;同時,提供了高吞吐量的資料訪問效能,適用於超大資料集的應用程式,以及通過叢集拓撲高效快速的處理資料的能力。 本文主要介紹一下Hadoop的開

【深入理解C#】2 C#1所搭建的核心基礎

class thread類 委托 組類型 賦值 需要 派生 聲明 -- 1)委托類型 基本理解: 類型安全的函數指針。 可以間接完成某種操作,雖增加了復雜性,但也增加了靈活性。 可以看作方法的占位符。 為什麽要用委托: 可以傳遞函數意味著可以將業務邏輯作為參數傳遞。 間接

《Java從小白到大牛精簡版》之2 開發環境搭建

big gmp ucs ctr job cu3 vsu utm svt 譾至焚蟻擠追操赴贛鼓鉀辟豆http://huiyi.docin.com/ogudb55786 姥淮眉陶儷秘掣恢狙秘帽簧浪履http://shequ.docin.com/dtmud182 淖可世膛械壽

2 GNS3和PacketTracer網絡模擬器(3)_搭建Packet tracer實驗環境

router images conf address 3.2 發送 style 廣域網 eric 3. Packet tracer實驗環境 3.1 設置網絡拓撲圖 (1)配置路由器局域網和廣域網接口,如上圖(可雙擊相應的圖標,然後在命令行或圖形界面上進行IP地址等配置)

2次作業:基礎開發環境搭建

convert 第一部分 block 自己的 https .com 開發環境 war loader 第2次作業:基礎開發環境搭建 第一部分:我的本次作業成果 我自己個人的github地址是:Abel202我們開發團隊小組的github地址是:SoftwareEngin

Struts2之struts-2.3.20開發環境搭建並實現一個Hello World小應用

搭建Struts2的開發環境,一般要做以下三個步驟: 1.找到開發Struts2應用需要使用到的jar檔案,接下來介紹如何在網上下載Struts所需要的工具並找到開發Struts應用的jar檔案: (1).首先,在百度中搜索Struts2,然後開啟下圖的紅色箭頭指向處(也可

Cordova 開發環境搭建及創建一個app

maven 環境變量配置 src 搜索 編譯 win 所有 log api 整理記錄使用cordova創建app應用程序並將其部署至Android系統移動設備上詳細過程,具體如下: 一、前期安裝環境 1. 安裝JDK(java開發工具包) 2. 安裝gradle 3. 安裝

結對編程項目作業2-開發環境搭建過程

後綴名 cmd命令 配置環境 cmd命令行 打開 開發環境 ava 命令行 文件 開發環境搭建過程:1.下載並安裝java 2.配置環境變量 3.設置成功後,在cmd命令行輸入命令java

團隊編程項目作業2-團隊編程項目開發環境搭建過程

配置 roi 環境搭建 搭建過程 項目 windows 需要 安裝eclipse 開發環境 第一步:需要安裝JDK 第二步:需要配置Windows上JDK的變量環境 第三步:需要下載安裝Eclipse 第四步:需要下載安裝Android SDK 第五步:為Eclipse安裝

2 環境配置

Java1.1 工具安裝1.1.1 Notepad軟件的安裝和配置為了讓我們寫的程序錯誤看起來更直接,我們安裝一款高級記事本軟件。Notepad軟件的安裝和配置設置 – 首選項 – 新建 – 默認語言和編碼1.2 環境變量配置1.2.1 案例說明為什麽要配置– 程序的編譯和執行需要使用到javac和java命

路飛學城-Python開發集訓-2

nsh img product n) 小數 driver 整數 code dex 學習心得: 筆記: print(bin(343)) #0b101010111 返回整數的二進制表示 python2默認支持的編碼是ASCII python3默認支持的編碼是UT