<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Openwrt開發指南 第2章 OpenWrt開發環境搭建

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

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中文版為安裝介紹對象。首先打開虛擬機。

第一步:打開虛擬機

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

第二步:這里便來到了home頁,點擊打開“創建新的虛擬機”。

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

第三步:這里我選擇“自定義”安裝,當然你也可以選擇“典型”,然后點擊“下一步”。

1687790349863wzy6d1yo5g

第四步:來到兼容性頁面,這里不用設置,直接按默認來就行,點擊下一步。

16877903501886yufxjzre8

第五步:這里來到了客戶機操作系統選擇頁面,我在這里選擇“安裝光盤鏡像文件”選項,在下框里選擇鏡像文件所在的位置,點擊“下一步”。

1687790350455cneki0z8ch

第六步:簡易安裝信息界面,這里補充完整信息點擊“下一步”。

1687790350721pwvmkv0c9i

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

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

1687790350984m4igz95ysg

第八步:這里根據你的電腦配置定吧,點擊“下一步”。

1687790351233nqe1tpxl7n

第九步:這里選擇虛擬機內存的大小,我按這里的推薦設置來,你也可以按照上面所說的規則來自己調整,點擊“下一步”。

1687790351474yehxzdbhri

第十步:這里我直接選擇橋接網絡(這樣網速會快些),當然待會在虛擬機里也可以改動的。

1687790351780mthu9hziec

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

16877903520748k33acuz9a

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

1687790352338t9l4jj2qc1

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

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

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)虛擬機->設置->共享文件夾

1687790352574pf7xhya7rp

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

1687790352997bqlhx4ffoy

再點擊【下一步】->【完成】就可。

3)進行軟鏈接

進入虛擬機,進入home目錄,輸入命令:

$ln -s /mnt/hgfs/share

好了,現在Ubuntu和Windows就能互傳文件了。

2.5 修改Linux的計算機名

1)修改/etc/hostname

$sudo vim /etc/hostname

將文件中的內容改為自己想設置的名字。

  1. sudo vim /etc/hosts

將文件中127.0.1.1后面內容改為自己剛才設置的名字。

重啟生效!

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FlaSh
    +關注

    關注

    10

    文章

    1566

    瀏覽量

    146860
  • u-boot
    +關注

    關注

    0

    文章

    118

    瀏覽量

    38082
  • 開發環境
    +關注

    關注

    1

    文章

    204

    瀏覽量

    16480
  • 編譯
    +關注

    關注

    0

    文章

    624

    瀏覽量

    32457
  • OpenWrt
    +關注

    關注

    10

    文章

    120

    瀏覽量

    38976
收藏 人收藏

    評論

    相關推薦

    Openwrt開發指南 第25章 配置OpenWrt支持網絡攝像頭

    Openwrt開發指南 第25章 配置OpenWrt支持網絡攝像頭
    的頭像 發表于 07-13 08:56 ?1698次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第25章 配置<b class='flag-5'>OpenWrt</b>支持網絡攝像頭

    Openwrt開發指南 第1章 OpenWrt入門

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

    Openwrt開發指南 第3章 OpenWrt下載及配置

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

    Openwrt開發指南 第4章 燒寫OpenWrt固件

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

    Openwrt開發指南 第12章 添加OpenWrt軟件包

    OpenWrt是一個比較完善的嵌入式Linux開發平臺,在無線路由器應用上已有4000多個軟件包。我們可以在其基礎上增加軟件包,以擴大其應用范圍。在OpenWrt中增加軟件包極其方便,按照
    的頭像 發表于 06-29 09:09 ?7213次閱讀

    Openwrt開發指南 第13章 OpenWrt啟動流程

    任何系統的啟動都是開發人員首要關注的問題,因為只有了解了系統的啟動流程和啟動機制,才能真正掌握一個系統,如果對啟動的啟動不熟悉的話,是不可能真正用好一個系統,openwrt系統也不例外,他的啟動和一般的嵌入式系統啟動還有所區別,現在咱們就分析一下
    的頭像 發表于 06-29 09:09 ?2757次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開發指南</b> 第13章 <b class='flag-5'>OpenWrt</b>啟動流程

    Openwrt開發指南 第24章 配置開發板支持U盤

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

    Openwrt開發指南 第29章 OpenWrt 防火墻介紹

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

    【WRTnode2R試用體驗】-->WRTnode2R_openwrt開發環境搭建

    本帖最后由 zo908111 于 2015-10-23 13:56 編輯 OpenWRT官方地址: https://openwrt.org/環境搭建:root@sj-E3:/ho
    發表于 10-22 23:27

    【WRTnode2R試用體驗】Openwrt簡介和開發環境搭建

    580M,具有32M NOR Flash和 256M DDR2 RAM,硬件上已經相當的高了可以很好的滿足我們開發需要,相比一般的那路由器去硬改可謂是省了不少事,下面就先說下openwrt開發
    發表于 10-25 22:37

    【檸檬分享】Openwrt環境搭建

    我們自身是有極大的好處的,因為專業嘛。友情提醒,本帖較為基礎,是方便大家進行openwrt開發環境搭建而寫,望大神輕拍,有什么問題,歡迎跟帖,我會盡快回復大家,感謝。
    發表于 05-26 11:56

    什么是OpenWrt?什么是嵌入式Linux開發環境?

    什么是OpenWrt?什么是嵌入式Linux開發環境?
    發表于 08-08 08:16

    RT5350 Wi-Fi 模塊開發指導_物聯網 openwrt 開發概述

    物聯網的資料 物聯網openwrt開發概述 物聯網openwrt開發概述 物聯網openwrt開發
    發表于 11-16 14:52 ?0次下載

    openwrt開發教程1~6章

    openwrt開發教程1~6章
    發表于 03-17 14:23 ?50次下載

    openwrt都有什么功能_openwrt詳細功能介紹_openwrt刷機教程

    penWrt作為一個嵌入式的Linux發行版已經得到廣泛的運用,本文主要介紹了openWRT開發背景、OpenWrt功能、openWRT特點以及op
    發表于 12-27 10:21 ?16.4w次閱讀
    <b class='flag-5'>openwrt</b>都有什么功能_<b class='flag-5'>openwrt</b>詳細功能介紹_<b class='flag-5'>openwrt</b>刷機教程
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>