RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Openwrt開發(fā)指南 第2章 OpenWrt開發(fā)環(huán)境搭建

嵌入式大雜燴 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-06-27 09:09 ? 次閱讀

1 硬件環(huán)境構(gòu)建

1.1 主機(jī)與目標(biāo)板結(jié)合的交叉開發(fā)模式

開發(fā)PC機(jī)上的軟件時(shí),可以直接在PC機(jī)上編輯、編譯、調(diào)試軟件,最終發(fā)布的軟件也是在PC機(jī)上運(yùn)行。對(duì)于物聯(lián)網(wǎng)OpenWrt開發(fā),最初的嵌入式設(shè)備是一個(gè)空白的系統(tǒng),需要通過主機(jī)為它構(gòu)建基本的軟件系統(tǒng),并燒寫到設(shè)備中;另外,嵌入式設(shè)備的資源并不足以用來開發(fā)軟件。所以需要用到交叉開發(fā)模式:在主機(jī)上編輯、編譯軟件,然后在目標(biāo)板上運(yùn)行、驗(yàn)證程序。對(duì)于MT7621等開發(fā)板,進(jìn)行物聯(lián)網(wǎng)OpenWrt開發(fā)時(shí)一般可以分為以下3個(gè)步驟。

(1)在主機(jī)上編譯U-boot,然后通過SPIFlash燒寫器燒入單板。

通過SPIFlash燒寫器燒寫程序的效率非常低,而且還需要取下Flash芯片,它適用于燒寫空白單板。為方便開發(fā),通常選用具有串口傳輸、網(wǎng)絡(luò)傳輸、燒寫Flash功能的U-boot,它可以快速地從主機(jī)獲取可執(zhí)行代碼,然后燒入單板。

該U-boot在開發(fā)板生產(chǎn)時(shí),已經(jīng)由工廠燒入到了SPIFlash中。特別強(qiáng)調(diào),在做物聯(lián)網(wǎng)openwrt開發(fā)時(shí),一般不建議大家自己開發(fā)、重新燒寫U-boot!否則,一不小心,開發(fā)板就會(huì)變成磚頭的哦。

(2)在主機(jī)上編譯OpenWrt,通過U-boot燒入單板或直接啟動(dòng)。一個(gè)可以在單板上運(yùn)行的OpenWrt是進(jìn)行后續(xù)開發(fā)的基礎(chǔ)。

(3)在主機(jī)上編譯各類應(yīng)用程序,經(jīng)過驗(yàn)證后燒入單板。

燒寫、啟動(dòng)U-boot后,就可以通過U-boot的各類選項(xiàng)來下載、燒寫、運(yùn)行程序了。啟動(dòng)Linux后,也是通過執(zhí)行各種命令來啟動(dòng)應(yīng)用程序的。怎么輸入這些命令、查看命令運(yùn)行的結(jié)果呢?一般通過串口來進(jìn)行輸入輸出。所以交叉開發(fā)模式中,主機(jī)與目標(biāo)板通常需要2種連接:串口、網(wǎng)絡(luò)。

1.2 硬件要求

1.主機(jī)要求

一般的PC機(jī)就可以用來進(jìn)行物聯(lián)網(wǎng)OpenWrt開發(fā),它應(yīng)該滿足以下要求。

①有一個(gè)USB口;

②支持網(wǎng)絡(luò);

③至少20GB的硬盤。

2.目標(biāo)板要求

由于后面會(huì)設(shè)計(jì)到大量的教程、大量的應(yīng)用的移植,所以建議大家用512MB的內(nèi)存、32MBFlash。所謂的硬件開發(fā)環(huán)境搭建很簡(jiǎn)單,將主機(jī)與目標(biāo)板通過串口線(直接用miniUSB線連接主機(jī)和目標(biāo)板即可)、網(wǎng)線(接單板上的任意網(wǎng)口)連接起來,將各類設(shè)備連接到目標(biāo)板上去即可。

2 軟件環(huán)境構(gòu)建

2.1在Windows上安裝虛擬機(jī)

本書基于Ubuntu16.04進(jìn)行開發(fā),它是一個(gè)很容易安裝和使用的Linux發(fā)行版。光盤映象文件的下載地址為http://releases.ubuntu.com/。

安裝方法有好幾種:將映像文件刻錄成光盤后安裝,通過網(wǎng)絡(luò)安裝等。對(duì)于不熟悉Linux的讀者,可以通過VMware虛擬機(jī)軟件使用映象文件安裝,這樣可以在Windows中使用Linux──反過來也是可以的,安裝Linux后,再使用VMware安裝windows,這樣就可以在Linux中同時(shí)使用Windows了。

這幾種安裝方法基本相同,下面介紹在Windows中通過VMware來安裝Linux的方法。不管是哪種方法,都建議單獨(dú)使用一個(gè)分區(qū)來存放本書所涉及的源碼、編譯結(jié)果,這可以避免當(dāng)系統(tǒng)出錯(cuò)、系統(tǒng)重裝時(shí)破壞學(xué)習(xí)成果。

從VMware的官方網(wǎng)站http://www.vmware.com下載到VMware工具,安裝后,參照以下方法安裝、設(shè)置Linux。

在VMware中建立一個(gè)虛擬機(jī)器,可以想象需要指定硬盤、內(nèi)存、網(wǎng)絡(luò)。在VMware中可以使用實(shí)際的硬盤,也可以使用文件來模擬硬盤。依照下面的一系列圖形就可以建立了。

【注】筆者使用虛擬機(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ì)象。首先打開虛擬機(jī)。

第一步:打開虛擬機(jī)

C:\\Users\\BruceOu\\Desktop\\2020-05-12_092155.png

第二步:這里便來到了home頁,點(diǎn)擊打開“創(chuàng)建新的虛擬機(jī)”。

C:\\Users\\BruceOu\\Desktop\\2020-05-12_092722.png

第三步:這里我選擇“自定義”安裝,當(dāng)然你也可以選擇“典型”,然后點(diǎn)擊“下一步”。

1687790349863wzy6d1yo5g

第四步:來到兼容性頁面,這里不用設(shè)置,直接按默認(rèn)來就行,點(diǎn)擊下一步。

16877903501886yufxjzre8

第五步:這里來到了客戶機(jī)操作系統(tǒng)選擇頁面,我在這里選擇“安裝光盤鏡像文件”選項(xiàng),在下框里選擇鏡像文件所在的位置,點(diǎn)擊“下一步”。

1687790350455cneki0z8ch

第六步:簡(jiǎn)易安裝信息界面,這里補(bǔ)充完整信息點(diǎn)擊“下一步”。

1687790350721pwvmkv0c9i

【注意】這個(gè)地方已經(jīng)設(shè)置了登錄用的用戶名密碼,所以好多人在安裝完成之后不知道登錄的用戶名密碼是什么,就是這個(gè)地方填的。

第七步:命名虛擬機(jī)頁面,我們選擇虛擬機(jī)的名字,并選擇虛擬機(jī)要安裝的位置,盡量選擇比較空閑的盤符,點(diǎn)擊下一步。

1687790350984m4igz95ysg

第八步:這里根據(jù)你的電腦配置定吧,點(diǎn)擊“下一步”。

1687790351233nqe1tpxl7n

第九步:這里選擇虛擬機(jī)內(nèi)存的大小,我按這里的推薦設(shè)置來,你也可以按照上面所說的規(guī)則來自己調(diào)整,點(diǎn)擊“下一步”。

1687790351474yehxzdbhri

第十步:這里我直接選擇橋接網(wǎng)絡(luò)(這樣網(wǎng)速會(huì)快些),當(dāng)然待會(huì)在虛擬機(jī)里也可以改動(dòng)的。

1687790351780mthu9hziec

第十一步:接下來我們直接按推薦設(shè)置來就可以了, 一路點(diǎn)擊“下一步” ,直到“完成”。

16877903520748k33acuz9a

第十二步:磁盤空間大小建議是20g以上,筆者這里選擇了50g,設(shè)置好后點(diǎn)擊下一步;

1687790352338t9l4jj2qc1

單擊【下一步】后,再單擊【完成】。

第十三步:等待安裝完成即可。

2.3主機(jī)Linux操作系統(tǒng)上網(wǎng)絡(luò)服務(wù)的配置與啟動(dòng)

配置Linux,啟動(dòng)ftp、ssh這2個(gè)服務(wù)。如果不是通過遠(yuǎn)程登錄Linux,而是直接在Linux中進(jìn)行開發(fā),則ftp、ssh這兩個(gè)服務(wù)不用開啟。

(1)準(zhǔn)備使用軟件維護(hù)工具apt-get。

Ubuntu16.04中沒有安裝ftp、ssh、nfs服務(wù)器軟件,它提供了一個(gè)很方便的安裝、升級(jí)、維護(hù)軟件的工具:apt-get。apt-get從光盤、網(wǎng)絡(luò)上下載程序,并安裝。所以要使用apt-get,通常要保證Linux能上網(wǎng)。

第一次使用apt-get來安裝程序之前,要先完成以下兩件事:

①修改/etc/apt/sources.list,將其中注釋掉的網(wǎng)址打開在安裝Ubuntu12.04的時(shí)候,如果網(wǎng)絡(luò)無法使用,它會(huì)自動(dòng)將/etc/apt/sources.list中各項(xiàng)注釋掉。比如需要將以下兩行開頭的“#”號(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”來修改它,或者使用“sudo gedit&”命令啟動(dòng)圖形化的文本編輯器,再打開、編輯它。

②更新可用的程序列表

執(zhí)行如下命令即可,它只是更新內(nèi)部的數(shù)據(jù)庫以確定:有哪些程序已經(jīng)安裝、哪些沒有安裝、哪些有新版本。apt-get程序?qū)⑹褂眠@個(gè)數(shù)據(jù)庫來確定怎樣安裝用戶指定的程序,并找到和安裝它所依賴的其他程序。下面的指令。

$sudo apt-get update

(2)安裝、配置、啟動(dòng)服務(wù)。

首先說明,Ubuntu中隱藏了root用戶,就是說不能使用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來安裝軟件了,以下的安裝、配置、啟動(dòng)方法在Ubuntu7.10自帶的幫助文檔中都有說明。

安裝、配置、啟動(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è)置->共享文件夾

1687790352574pf7xhya7rp

2)選擇【下一步】,然后選擇共享文件夾路徑

1687790352997bqlhx4ffoy

再點(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è)置的名字。

  1. sudo vim /etc/hosts

將文件中127.0.1.1后面內(nèi)容改為自己剛才設(shè)置的名字。

重啟生效!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1633

    瀏覽量

    147935
  • u-boot
    +關(guān)注

    關(guān)注

    0

    文章

    121

    瀏覽量

    38220
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    225

    瀏覽量

    16609
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    657

    瀏覽量

    32851
  • OpenWrt
    +關(guān)注

    關(guān)注

    10

    文章

    130

    瀏覽量

    39296
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Openwrt開發(fā)指南 25 配置OpenWrt支持網(wǎng)絡(luò)攝像頭

    Openwrt開發(fā)指南 25 配置OpenWrt支持網(wǎng)絡(luò)攝像頭
    的頭像 發(fā)表于 07-13 08:56 ?2402次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>25<b class='flag-5'>章</b> 配置<b class='flag-5'>OpenWrt</b>支持網(wǎng)絡(luò)攝像頭

    Openwrt開發(fā)指南 1 OpenWrt入門

    如果要學(xué)習(xí)openwrt的話,買些列表中二手的路由器來實(shí)踐下更容易學(xué)習(xí),大部分要升級(jí)一下rom芯片和內(nèi)存芯片,典型配置都是4M、64M。
    的頭像 發(fā)表于 06-27 09:09 ?4388次閱讀

    Openwrt開發(fā)指南 3 OpenWrt下載及配置

    編譯OpenWrt首先需要下載源碼,OpenWrt的源碼是通過git下載,OpenWrt目前已經(jīng)很好的支持了MT7620、MT7821等芯片,因此OpenWrt系統(tǒng)完全可以用于MT76
    的頭像 發(fā)表于 06-27 09:10 ?5757次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>3<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b>下載及配置

    Openwrt開發(fā)指南 4 燒寫OpenWrt固件

    對(duì)于一個(gè)完整的嵌入式系統(tǒng),它由U-boot、內(nèi)核(Linux)、文件系統(tǒng)、應(yīng)用程序四部分組成。那么這四部分之間的關(guān)系是怎么樣的呢?OpenWrt是屬于哪部分呢?
    的頭像 發(fā)表于 06-27 09:11 ?4802次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>4<b class='flag-5'>章</b> 燒寫<b class='flag-5'>OpenWrt</b>固件

    Openwrt開發(fā)指南 7 添加Web界面

    LuCI作為“FFLuCI”誕生于2008年3月份,目的是為OpenWrt固件從Whiterussian到Kamikaze實(shí)現(xiàn)快速配置接口。Lua是一個(gè)小巧的腳本語言,很容易嵌入其它語言。輕量級(jí)
    的頭像 發(fā)表于 06-29 09:04 ?3761次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>7<b class='flag-5'>章</b> 添加Web界面

    Openwrt開發(fā)指南 12 添加OpenWrt軟件包

    OpenWrt是一個(gè)比較完善的嵌入式Linux開發(fā)平臺(tái),在無線路由器應(yīng)用上已有4000多個(gè)軟件包。我們可以在其基礎(chǔ)上增加軟件包,以擴(kuò)大其應(yīng)用范圍。在OpenWrt中增加軟件包極其方便,按照
    的頭像 發(fā)表于 06-29 09:09 ?8858次閱讀

    Openwrt開發(fā)指南 13 OpenWrt啟動(dòng)流程

    任何系統(tǒng)的啟動(dòng)都是開發(fā)人員首要關(guān)注的問題,因?yàn)橹挥辛私饬讼到y(tǒng)的啟動(dòng)流程和啟動(dòng)機(jī)制,才能真正掌握一個(gè)系統(tǒng),如果對(duì)啟動(dòng)的啟動(dòng)不熟悉的話,是不可能真正用好一個(gè)系統(tǒng),openwrt系統(tǒng)也不例外,他的啟動(dòng)和一般的嵌入式系統(tǒng)啟動(dòng)還有所區(qū)別,現(xiàn)在咱們就分析一下
    的頭像 發(fā)表于 06-29 09:09 ?3526次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>13<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b>啟動(dòng)流程

    Openwrt開發(fā)指南 17 驅(qū)動(dòng)開發(fā)之字符設(shè)備驅(qū)動(dòng)程序

    首先將 RT5350_drv 文件夾傳到 OpenWrt 源碼的chaos_calmer/package/kernel 目錄下。然后進(jìn)入 OpenWrt 源碼的頂層目錄,執(zhí)行 make menuconfig。
    的頭像 發(fā)表于 07-02 09:20 ?3224次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>17<b class='flag-5'>章</b> 驅(qū)動(dòng)<b class='flag-5'>開發(fā)</b>之字符設(shè)備驅(qū)動(dòng)程序

    Openwrt開發(fā)指南 22 Openwrt串口的使用2

    在上一中,我們成功的讓驅(qū)動(dòng)程序支持了串口 2,并且做了簡(jiǎn)單的測(cè)試。接下來,我們就為串口 2 添加一個(gè)應(yīng)用程序,從而實(shí)現(xiàn) Wi-Fi 串口。實(shí)現(xiàn)過程非常簡(jiǎn)單,首先進(jìn)入 OpenWrt
    的頭像 發(fā)表于 07-05 09:09 ?4088次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>22<b class='flag-5'>章</b> <b class='flag-5'>Openwrt</b>串口的使用<b class='flag-5'>2</b>

    Openwrt開發(fā)指南 24 配置開發(fā)板支持U盤

    Openwrt開發(fā)指南 24 配置開發(fā)板支持U盤
    的頭像 發(fā)表于 07-13 08:55 ?3315次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>24<b class='flag-5'>章</b> 配置<b class='flag-5'>開發(fā)</b>板支持U盤

    Openwrt開發(fā)指南 29 OpenWrt 防火墻介紹

    Openwrt 是一個(gè) GNU/Linux 的發(fā)行版, 和其他大多數(shù)的發(fā)行版一樣,Openwrt 的防火墻同樣也是基于 iptables。 在 OpenWRT 下防火墻的默認(rèn)行為已經(jīng)可以滿足路由器的需要,一般情況下也無需修改。
    的頭像 發(fā)表于 07-15 16:24 ?3599次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發(fā)指南</b> <b class='flag-5'>第</b>29<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b> 防火墻介紹

    【W(wǎng)RTnode2R試用體驗(yàn)】Openwrt簡(jiǎn)介和開發(fā)環(huán)境搭建

    580M,具有32M NOR Flash和 256M DDR2 RAM,硬件上已經(jīng)相當(dāng)?shù)母吡丝梢院芎玫臐M足我們開發(fā)需要,相比一般的那路由器去硬改可謂是省了不少事,下面就先說下openwrt開發(fā)
    發(fā)表于 10-25 22:37

    【檸檬分享】Openwrt環(huán)境搭建

    我們自身是有極大的好處的,因?yàn)閷I(yè)嘛。友情提醒,本帖較為基礎(chǔ),是方便大家進(jìn)行openwrt開發(fā)環(huán)境搭建而寫,望大神輕拍,有什么問題,歡迎跟帖,我會(huì)盡快回復(fù)大家,感謝。
    發(fā)表于 05-26 11:56

    RT5350 Wi-Fi 模塊開發(fā)指導(dǎo)_物聯(lián)網(wǎng) openwrt 開發(fā)概述

    物聯(lián)網(wǎng)的資料 物聯(lián)網(wǎng)openwrt開發(fā)概述 物聯(lián)網(wǎng)openwrt開發(fā)概述 物聯(lián)網(wǎng)openwrt開發(fā)
    發(fā)表于 11-16 14:52 ?0次下載

    openwrt開發(fā)教程1~6

    openwrt開發(fā)教程1~6
    發(fā)表于 03-17 14:23 ?55次下載
    RM新时代网站-首页