• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OpenWrt系統(tǒng)的智能路由開發(fā)環(huán)境搭建方法

      2020-11-16 02:11施鳴
      數(shù)碼世界 2020年10期

      施鳴

      摘要:OpenWrt是一個(gè)針對(duì)嵌入式設(shè)備的Linux發(fā)行版,有非常高的可擴(kuò)展性,可以非常容易地從零開始構(gòu)建出全功能的智能路由或服務(wù)器設(shè)備。通過本文所寫的配置方法,大家可以快速的搭建OpenWrt系統(tǒng)開發(fā)環(huán)境。

      關(guān)鍵詞:OpenWrt;Linux;嵌入式智能路由

      一、OpenWrt簡(jiǎn)介和優(yōu)缺點(diǎn)

      現(xiàn)在主流的路由器固件主要有 dd-wrt;tomato;openwrt;padavan四大類。對(duì)比一個(gè)單一的、靜態(tài)的系統(tǒng),OpenWrt的包管理提供了一個(gè)完全可寫的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許您自定義的設(shè)備,以適應(yīng)任何應(yīng)用程序。OpenWRT是一個(gè)高度模塊化、高度自動(dòng)化的嵌入式Linux系統(tǒng),擁有強(qiáng)大的網(wǎng)絡(luò)組件和擴(kuò)展性,常常被用于工控設(shè)備、電話、小型機(jī)器人、智能家居、路由器以及VOIP設(shè)備中。 同時(shí),它還提供了100多個(gè)已編譯好的軟件,而且數(shù)量還在不斷增加,而 OpenWrt SDK 更簡(jiǎn)化了開發(fā)軟件的工序。

      優(yōu)點(diǎn):如果對(duì) Linux 系統(tǒng)有一定的認(rèn)識(shí),并想學(xué)習(xí)或接觸嵌入式 Linux 的話,OpenWRT很適合。而且OpenWRT支持各種處理器架構(gòu),無論是對(duì)ARM,X86,PowerPC或者M(jìn)IPS都有很好的支持。其多達(dá)3000多種軟件包,囊括從工具鏈(toolchain),到內(nèi)核(linux kernel),到軟件包(packages),再到根文件系統(tǒng)(rootfs)整個(gè)體系,使得用戶只需簡(jiǎn)單的一個(gè)make命令即可方便快速地定制一個(gè)具有特定功能的嵌入式系統(tǒng)來制作固件。

      缺點(diǎn):由于CPU內(nèi)核體系不同,造成很多應(yīng)用程序移植到OpenWrt上的時(shí)候經(jīng)常崩潰,而且ADSL硬件模塊的驅(qū)動(dòng)程序沒有開放源代碼,造成很多ADSL一體無線路由的ADSL模塊不能工作而造成功能缺失(RG100A和DB120除外)。由于OpenWRT并不是官方發(fā)布的路由器固件,所以要使用(刷入該固件)有困難,而且其基于Linux,導(dǎo)致OpenWRT的入門門檻較高。

      二、環(huán)境搭建方法

      本次實(shí)驗(yàn)使用到虛擬機(jī)VMware;10及Ubuntu系統(tǒng)的ISO鏡像,這些軟件工具在各軟件的官網(wǎng)下載,下面介紹安裝好VMware及Ubuntu系統(tǒng)后軟件的使用方法。

      進(jìn)入U(xiǎn)buntu Linux系統(tǒng)

      編譯OpenWrt系統(tǒng)固件

      1.安裝編譯環(huán)境

      安裝編譯所需的工具,在終端輸入

      #sudo apt-get update

      #sudo apt-get install git-core build-essential

      libssl-dev libncurses5-dev unzip

      #sudo apt-get install subversion mercurial

      #sudo apt-get install gcc g++ binutils patch bzip2 flex bison make a

      utoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurs

      es-term zlib1g-dev

      2.下載OpenWrt源碼

      需準(zhǔn)備12GB左右的空間,源碼體積百兆左右,但是編譯過程中會(huì)產(chǎn)生大量文件,會(huì)使文件夾體積非常大。# git clone -b chaos_calmer git://github.com/openwrt/openwrt.git

      3.更新軟件包

      下載安裝可用的“feeds”:上述步驟會(huì)產(chǎn)生一個(gè)名為openwrt的目錄,在終端輸入#cd openwrt

      #./scripts/feeds update -a

      #./scripts/feeds install -a

      4.配置

      在終端輸入make menuconfig

      對(duì)編譯目標(biāo)進(jìn)行配置

      TargetSystem -> Ralink RT288x/Rt3xxx

      Subtarget->MT7628 based boards

      “Package the OpenWrt-base Toolchain”是為了有搭建交叉編譯環(huán)境方便,不是必選的。

      此外,勾選LuCI(網(wǎng)頁形式的控制臺(tái))還是非常必要的。要勾選(前面出現(xiàn)*號(hào)):

      LuCI-->1.Collections-->luci

      別忘記勾選中文:

      LuCI-->2.Modules-->Translations-->Chinese(zh-cn)

      最后Save,退出。

      以上是基本的固件編譯,如果需要其他功能,要再勾選或添加。

      5.編譯固件

      在終端中輸入命令:make V=s -j2

      V=s 代表顯示編譯信息,一定要勾選,否則出錯(cuò)的話無法看到錯(cuò)誤信息。

      -j8代表使用的CPU線程數(shù)量,4C8T的CPU可是使用8個(gè)線程提高速度,使用時(shí)有時(shí)會(huì)出錯(cuò),可以改成-j1或者不加這個(gè)參數(shù)。

      6.固件目標(biāo)

      當(dāng)OpenWrt編譯完成后,生成的固件位于源碼目錄下的

      bin/bin/ramips/openwrt-ramips-mt7628-xxx-squashfs-sysupgrade.bin

      三、搭建交叉編譯環(huán)境

      交叉編譯,簡(jiǎn)單的說就是,就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行文件,舉個(gè)例子,我用我的電腦(x86_64平臺(tái))編譯出路由器(mips-mt76XX)上可以執(zhí)行的二進(jìn)制文件,要進(jìn)行交叉編譯首先就要有對(duì)應(yīng)平臺(tái)的編譯器,下面介紹如何搭建編譯環(huán)境。

      1.自己編譯生成工具鏈(toolchain)

      進(jìn)入OpenWrt源碼目錄,并執(zhí)行make menuconfig命令,并選中如下選項(xiàng)[*] Build the Openwrt SDK

      選中,保存退出,然后執(zhí)行make V=99命令生成工具鏈。編譯成功后,工具鏈位將在bin/ramips/

      OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2壓縮包下。

      2.設(shè)置環(huán)境變量

      需要設(shè)置兩個(gè)環(huán)境變量,一個(gè)為工具鏈中的bin文件夾加入到PATCH中,另一個(gè)為STAGING_DIR變量,將其指向放toolchain的文件夾。其操作步驟如下:

      將OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2

      目錄解壓到/opt目錄,sudo tar xvf OpenWrt-SDK-xx.tar.gz -C /opt

      執(zhí)行如下命令,打開~/.bashrc文件,將環(huán)境變量添加到該文件中。

      vim ~/.bashrc

      在末尾處添加如下代碼:vim ~/.bashrc

      OPENWRT_GCC=/opt/OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin

      export

      STAGING_DIR=/opt/OpenWrt-SDK-ramips-mt7628_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir

      export PATH=$PATH:$OPENWRT_GCC

      編輯完成后保存退出,然后執(zhí)行如下命令,使能環(huán)境變量#source ~/.bashrc

      3.測(cè)試交叉編譯工具

      在終端下執(zhí)行如下命令,查看是否有輸出# mipsel-openwrt-linux-gcc -v

      如果輸出如上圖的數(shù)據(jù),表示安裝成功。

      參考文獻(xiàn)

      [1]Linux應(yīng)用服務(wù)器架設(shè)[M].於岳2014年11月第一版.人民郵電出版社.

      [2]跟老男孩學(xué)Linux運(yùn)維:web集群實(shí)戰(zhàn)[M].老男孩 2016年第一版

      [3]基于虛擬機(jī)的計(jì)算機(jī)公共機(jī)房多系統(tǒng)實(shí)驗(yàn)環(huán)境的構(gòu)建[J].姜莉.中國(guó)現(xiàn)代教育裝備.2009(01)

      [4]社大鵬《Red hat Linux因特網(wǎng)服務(wù)器》中國(guó)水利水電出版社.2004.2.

      [5]林慧琛《Red hat Linux服務(wù)器配置與應(yīng)用》人民郵電出版社.2006.1.

      新安县| 外汇| 铜梁县| 宜阳县| 甘洛县| 专栏| 博兴县| 黄大仙区| 大姚县| 玉林市| 元谋县| 西华县| 遂川县| 新竹市| 会宁县| 分宜县| 长葛市| 东莞市| 嘉定区| 广灵县| 阳高县| 揭阳市| 武川县| 沙田区| 庆元县| 巨鹿县| 观塘区| 夏河县| 金堂县| 阳西县| 阳春市| 盘山县| 汉阴县| 闵行区| 温泉县| 台江县| 常德市| 新巴尔虎右旗| 平泉县| 清水河县| 洮南市|