導航:首頁 > 源碼編譯 > 自己編譯的openwrt穩定性

自己編譯的openwrt穩定性

發布時間:2023-05-23 07:19:53

1. 如何編譯自己的openwrt中文固件

今天路由固件的世界幾乎都是linksys WRT54G 開創出來的, 這個型號的固件開源之後,逐漸衍生出來今天的強盡的DDWRT/tomato/openwrt固件。linksys WRT54G 是博通的晶元。 正是因為這個歷史原因,DDWRT/tomato/openwrt固件 對博通晶元的支持最好,對其他的晶元比較差, 或者根本不支持其他的晶元。 個人認為,3個固件裡面,tomato的用戶體驗相對最好。但是僅僅支持博通晶元。DDWRT對博通晶元的支持好, 對一些athero也可以,對螃蟹的支持很差。但是DDWRT固件過於陳舊,比 tomato落後很多。openwrt固件可以支持很多晶元,但是用戶體驗相對最差,但是如果想用好openwrt固件,用戶需要自己編譯openwrt固件適應各種晶元/功能,或者說用戶需要具有獨立開發新產品的能力。國內的很多垃圾路由原廠固件就是盜用的openwrt固件,開發的時候把硬體要求降到最低,一旦售出,概不維護。因為沒有優秀固件的連續支持,找到螃蟹的好芯有啥意義,難道您想幫螃蟹開發維護固件。用戶需要的功能來自於優異的固件。但是目前看來,優秀固件的只支持博通的晶元。難道您的倉庫里積壓了太多的螃蟹晶元路由,需要用新手上路的第一貼,來論壇打軟廣告。

2. linux發行版(路由器固件)OpenWrt入門全集

現階段openwrt官方支持的路由列表:wiki.openwrt.org/toh/start

如果要學習openwrt的話,買些列表中二手的路由器來實踐下更容易學習,大部分要升級一下rom晶元和內存晶元,典型配置都是4M、64M。 大家先學習一下,等待小米開放時刻的到來,有備無患……

OpenWrt 可以被描述為一個嵌入式的 Linux 發行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖建立一個單一的、靜態的系統。OpenWrt的包管理提供了一個完全可寫的文件系統,從應用程序供應商提供的選擇和配置,並允許您自定義的設備,以適應任何應用程序。

對於開發人員,OpenWrt 是使用框架來構建應用程序,而無需建立一個完整的固件來支持;對於用戶來說,這意味著其擁有完全定製的能力,可以用前所未有的方式使用該設備。

當Linksys釋放 WRT54G/GS 的源碼後,網上出現了很多不同版本的 Firmware 去增強原有的功能。大多數的 Firmware 都是99%使用 Linksys的源碼,只有1%是加上去的,每一種 Firmware 都是針對特定的市場而設計,這樣做有2個缺點,第一個是難以集合各版本Firmware的長處,第二個是這版本距離 Linux 正式發行版越來越遠。

OpenWrt 選擇了另一條路,它從零開始,一點一點的把各軟體加入去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之處是它的文件系統是可寫的,開發者無需在每一次修改後重新編譯,令它更像一個小型的 Linux 電腦系統。

OpenWrt 項目由 2004 年 1 月開始, 第一個版本是基於 Linksys 提供的 GPL 源碼及 uclibc 中的 buildroot 項目, 這個版本稱為 「stable」 版, 在網上至今仍有很多項目使用這個版本, 較為有名 Freifunk-Firmware 和 Sip@Home.

到了2005年初, 一些新的開發人員加入了這項目, 幾個月後他們釋出了第一個 「experimental」 版本, 這和以前版本不同的是, 這版本差不多完全舍棄了 Linksys 的 GPL 源碼, 使用了 buildroot2 作為核心技術, 將 OpenWrt 完全模塊化,OpenWrt 使用 Linux 正式發行的核心源碼(2.4.30),加上了一些補丁和網路驅動,開發隊伍更為OpenWrt添加了許多免費的工具,可以直接把Image寫入 Flash (mtd)裡面,設定無線功能和VLAN交換功能,這個版本名為「White Russian」,而1.0版本於2005年底公布。

OpenWRT是一個高度模塊化、高度自動化的嵌入式Linux系統,擁有強大的網路組件和擴展性,常常被用於工控設備、電話、小型機器人、智能家居、路由器以及VOIP設備中。 同時,它還提供了100多個已編譯好的軟體,而且數量還在不斷增加,而 OpenWrt SDK 更簡化了開發軟體的工序。

OpenWRT不同於其他許多用於路由器的發行版,它是一個從零開始編寫的、功能齊全的、容易修改的路由器操作系統。實際上,這意味著您能夠使用您想要的功能而不加進其他的累贅,而支持這些功能工作的linux kernel又遠比絕大多數發行版來得新。

如果對 Linux 系統有一定的認識, 並想學習或接觸嵌入式 Linux 的話, OpenWRT很適合。 而且OpenWRT支持各種處理器架構,無論是對ARM,X86,PowerPC或者MIPS都有很好的支持。 其多達3000多種軟體包,囊括從工具鏈(toolchain),到內核(linux kernel),到軟體包(packages),再到根文件系統(rootfs)整個體系,使得用戶只需簡單的一個make命令即可方便快速地定製一個具有特定功能的嵌入式系統來製作固件。

一般嵌入式 Linux 的開發過程, 無論是 ARM, PowerPC 或 MIPS 的處理器, 都必需經過以下的開發過程:

1、 創建 Linux 交叉編譯環境;

2、建立 Bootloader;

3、移植 Linux 內核;

4、建立 Rootfs (根文件系統);

5、安裝驅動程序;

6、安裝軟體;

熟悉這些嶔入式 Linux 的基本開發流程後,不再局限於 MIPS 處理器和無線路由器, 可以嘗試在其它處理器, 或者非無線路由器的系統移植嵌入式 Linux, 定製合適自己的應用軟體, 並建立一個完整的嵌入式產品。

由於CPU內核體系不同,造成很多應用程序移植到OpenWrt上的時候經常崩潰。

由於ADSL硬體模塊的驅動程序沒有開放源代碼,造成很多ADSL一體無線路由的ADSL模塊不能工作而造成功能缺失(RG100A和DB120除外)。

由於OpenWRT並不是官方發布的路由器固件,所以要使用(刷入該固件)有困難,而且其基於Linux,導致OpenWRT的入門門檻較高。

White RussianOpenWRT的初始版本,從2005年7月的White Russian RC1開始發展,一直到2007年1月才發布White Russian 0.9。

KamikazeOpenWRT的第二個版本,從2007年6月開始發布Kamikaze 7.06,一直更新到2010年1月的Kamikaze 8.09.2結束。這期間OpenWRT進行了大量改進,並為它的發展打下了堅實的基礎。

Backfire2010年03月04日,OpenWrt Backfire 10.03 Beta發布,該版本是開源的路由器固件,基於linux,功能強大,支持很多主流的平台和路由器,甚至支持國內的君正jz4740平台,是學習和開發嵌入式,也是工業、 商業應用理想平台。更新方面: brcm-2.4 更新到 2.4.37 kernel ,other targets 更新到 2.6.30 or 2.6.32 ,arm/mips平台的 gcc 更新到 4.3.3 ,powerpc的gcc更新到 4.4.3 ,uClibc 更新到 0.9.30.1 , Broadcom 11g 晶元組的 b43 無線網卡驅動更新到 2.6 kernel ,支持Atheros 11n ath9k ,支持很多新的ar71xx設備,magicbox歸入ppc40x平台 。

2010年03月25日,OpenWrt 發布 Backfire 10.03-rc1,支持國內留下的 tp-link最新多款11n的路由器,是不是想讓路由器支持萬能中繼呢,或者增加路由器的多wan口支持呢,更多的這些高端路由才有的功能,或許能 讓家用路由輕松具備。

2010年04月07日,OpenWRT放出Backfire 10.03正式版。

2010年08月29日OpenWRT放出了Backfire 10.03.1。修正了很多BUG,提高了兼容性。TP-LINK WR841N v2 已經可以正常使用了,包括無線部分和上網部分。 自rc1之後的變動:改進了防DNS重綁定攻擊,改進了uhttpd穩定性, Rootfs生成修復(Orion景象),修正了基於BRCM47XX的PCI初始化,添加了rtl8366 vlan 改變的 整合腳本,還原了一般x86鏡像 GRUB控制台,提高了ar71xx系列乙太網驅動程序性能,添加了ar7240 交換機驅動,一些swconfig 和 交換機驅動的改進,RDC 使用啟動載入器支持波特率,允許原生HID 支持 通過添加 kmod-input-hid,6in4:適當的處理了PPPoE連接並且修復了終端隧道更新。

鑒於開源軟體在國內的發展態勢,目前國內有基於OpenWRT改進而來的OpenWRT-DreamBox。這個版本的OpenWRT集成了了很多常用功能(包括離線下載等),而通過這個版本的OpenWRT便可以把一個路由器的功能發揮的淋漓盡致。

現在有越來越多的Maker開始折騰OpenWrt,但作為一個Maker新手來講,在網上還是很難找到一份系統的入門級資料。查找資料很辛苦,而且OpenWrt的門檻相對較高,希望這篇文章所提供的從零開始學OpenWrt編譯 + 刷機 + 使用教程能降低新手們的入門難度,當然,編譯過程非必須,一般的路由都可找到可用的穩定固件直接刷機。

1、安裝Ubuntu(編譯需要Linux環境),到其官網下載,版本根據自己所需選擇即可。可以選擇安裝到虛擬機或者物理機,圖形化安裝而且是中文版,連安裝都搞不定的,可以關閉本頁面了;(下載地址可以網路,回復貼中會提供)

2、切記不要改動軟體源,同時按住Ctrl + Alt + T,調出終端;

3、逐條輸入下列命令(及時驗證是否安裝成功):

[php]

sudo apt-get install g++

sudo apt-get install libncurses5-dev

sudo apt-get install zlib1g-dev

sudo apt-get install bison

sudo apt-get install flex

sudo apt-get install unzip

sudo apt-get install autoconf

sudo apt-get install gawk

sudo apt-get install make

sudo apt-get install gettext

sudo apt-get install gcc

sudo apt-get install binutils

sudo apt-get install patch

sudo apt-get install bzip2

sudo apt-get install libz-dev

sudo apt-get install asciidoc

sudo apt-get install subversion

sudo apt-get install sphinxsearch

sudo apt-get install libtool

sudo apt-get install sphinx-common

[/php]

至此編譯環境搭建完成。

OpenWrt源碼分兩種,一種是最新但不是最穩定的Trunk開發版,一種是最穩定的Backfire版,建議下載官方源碼。下載前先在本地創建文件夾

[php]

mkdir openwrt

sudo chmod 777 openwrt

cd openwrt

[/php]

選擇你想要的版本然後執行下載命令,下載結束會顯示版本號:

Trunk版下載命令:

[php]

svn co svn://svn.openwrt.org/openwrt/trunk/

[/php]

Backfire版下載命令:

[php]

svn co svn://svn.openwrt.org/openwrt/branches/backfire/

[/php]

添加軟體擴展包,將feeds.conf.default修改為feeds.conf:

[php]

cp feeds.conf.default feeds.conf

[/php]

更新擴展,安裝擴展:

[php]

./scripts/feeds update -a

./scripts/feeds install –a

[/php]

註:如果不是剛下載的源碼,為保持代碼為最新狀態,應定期運行svn update命令更新源碼。

測試編譯環境:

[php]

make defconfig

到這里就可以開始編譯自己的固件了。進入定製界面:

[php]

make menuconfig

[/php]

如果一切正常,會出現一個配置菜單,可以選擇要編譯的固件平台(晶元類型)、型號,還能選擇固件中要添加的功能和組件,配置好後保存並退出菜單即可。

[php]

openwrt-make

[/php]

如果你想修改源碼,應該在此步進行,如支持大容量Flash之類的修改,自己上網查到修改什麼文件什麼地方後,就在ubuntu圖形界面上進去找到文件,雙擊打開文本編輯器修改保存。

[php]

Make

[/php]

或者

[php]

make V=99

[/php]

或者

[php]

make -j V=99

[/php]

make是編譯命令,V=99表示輸出debug信息,V一定要大寫,如果要讓CPU全速編譯,就加上 -j 參數,第一次編譯最好不帶-j參數。

編譯過程保持聯網(會從網上下載一些源碼包),所以斷網可能造成編譯中斷,編譯所需時間與電腦CPU及網路環境有很大關系,第一次編譯時間較久,快則半小時長則2、3個小時,之後的編譯所需時間較短。編譯完成後會在源碼文件目錄出現bin文件夾(如trunk/bin/XXXX),如果你手裡的路由是原版固件需要刷OpenWrt需要選用XXX-factory.bin固件,如果路由已經刷了OpenWrt,選用升級固件XXXX-sysupgrade.bin升級用的,在升級界面升級即可。進到文件夾找到你需要的固件傳出(通過郵箱、網盤、U盤等),開始刷機吧。

要在路由器上使用OpenWrt,首先要將路由器固件刷新為OpenWrt,即相當於OpenWrt 系統的安裝,不同型號的路由器的安裝方法可能也會不一樣,但一般常用的有三種方法:

1.Web上傳固件更新(就是路由器設置或管理界面的那個固件更新)

2.PFTP上傳固件更新(最簡單的就是HFS了)

具體型號的路由器適用於哪種或哪幾種方法,需自行嘗試。

要對OpenWrt進行配置,一般有兩條途徑:

1.SSH登錄通過命令行控制

2.Web登錄通過Web界面設置

首次安裝OpenWrt後,需要設置密碼才可以使用SSH登錄,方法是使用telnet登錄或者Web登錄設置密碼。在Windows下面telnet和SSH登錄可以使用Putty,在Linux或Mac下可分別使用如下命令:

[php]

ssh –l root 192.168.1.1 //Linux

ssh –l [email protected] //Mac

[/php]

一般指令與常見Linux發行版相同,但是OpenWrt使用自己的包管理器:opkg,使用「opkg –help」查看幫助信息。以下是一些常用操作命令:

[php]

opkg update //更新軟體包列表

opkg install //在線安裝軟體包

opkg remove //移除軟體包

[/php]

登錄Web管理界面,前提是該OpenWrt系統中要安裝了Web界面,一般是Luci,登錄方式與普通路由器無異,打開瀏覽器,輸入路由器IP即可進入登錄界面,OpenWrt的默認IP是192.168.1.1。

到此,OpenWrt的大門已為你敞開。接下來,開始嘗試利用OpenWrt實現更多智能應用吧,比如單號多撥榨取運營商帶寬、綁定域名遠程式控制制、掛載大容量硬碟、搭建BT下載機、搭建網路攝像頭、Samba/DLNA家庭NAS共享、私有雲同步、FTP、個人網站/伺服器…

需要學會用ssh登錄路由器用linux命令查看。

ps 命令查看當前系統運行的進程信息

free 命令查看內存使用和swap掛載情況

ls 查看目錄和文件

cd 進入退出目錄

vi 查看編輯配置文件

安裝命令:

[php]

#opkg update

#opkg install nano

uci set network.lan.ipaddr=[lan ip]

[/php]

使用pppoe設置

Shell代碼

[php]

uci set network.wan.proto=pppoe //設置wan口類型為pppoe

uci set network.wan.username=[上網帳戶]

uci set network.wan.password=[上網密碼] //這兩行設置pppoe用戶名和密碼

[/php]

如果要掛在上級路由下面,就需要進行下面的設置

Shell代碼

[php]

uci set network.wan.proto=none //關掉wan

uci set network.lan.gateway=[上級路由ip] //網關指向上級路由

uci set network.lan.dns=[上級路由ip] //dns指向上級路由

uci set dhcp.lan.ignore=1 //關掉lan的dhcp

[/php]

最後對無線網路進行配置

Shell代碼

[php]

uci set wireless.@wifi-device[0].disabled=0 //打開無線

uci set wireless.@wifi-device[0].txpower=17 //設置功率為17dbm 太高會燒無線模塊

uci set wireless.@wifi-device[0].channel=6 //設置無線信道為6

uci set wireless.@wifi-iface[0].mode=ap //設置無線模式為ap

uci set wireless.@wifi-iface[0].ssid=[自己設置SSID] //設置無線SSID

uci set wireless.@wifi-iface[0].network=lan //無線鏈接到lan上

uci set wireless.@wifi-iface[0].encryption=psk2 //設置加密為WPA2-PSK

uci set wireless.@wifi-iface[0].key=[密碼] //設置無線密碼

[/php]

提交應用配置

Shell代碼

[php]

uci commit //應用

/etc/init.d/network restart //重啟網路服務

[/php]

安裝luci管理界面

Shell代碼

[php]

opkg update // 更新軟體列表

opkg list-installed // 查看已安裝軟體

opkg install luci // 安裝LUCI

opkg install luci-i18n-chinese // 支持中文

luci-app-firewall - 0.10.0-1

luci-i18n-english - 0.10.0-1

luci-lib-core - 0.10.0-1

luci-lib-ipkg - 0.10.0-1

luci-lib-lmo - 0.10.0-1

luci-lib-nixio - 0.10.0-1

luci-lib-sys - 0.10.0-1

luci-lib-web - 0.10.0-1

luci-mod-admin-core - 0.10.0-1

luci-mod-admin-full - 0.10.0-1

luci-proto-core - 0.10.0-1

luci-proto-ppp - 0.10.0-1

luci-sgi-cgi - 0.10.0-1

luci-theme-base - 0.10.0-1

luci-theme-openwrt - 0.10.0-1

[/php]

即可完成LUCI的安裝。

輸入以下命令開啟支持web服務的uhttpd,並設置其為自啟動:

Shell代碼

[php]

/etc/init.d/uhttpd enable # 開機自啟動

/etc/init.d/uhttpd start # 啟動uhttpd

[/php]

- Wifidog

你可以嘗試執行以下命令安裝Wifidog:

[php]

opkg update # Optional

opkg install wifidog

[/php]

--sftp安裝

[php]

opkg update

opkg install vsftpd openssh-sftp-server

/etc/init.d/vsftpd enable

/etc/init.d/vsftpd start

[/php]

小米埠轉發命令:

通過修改 /etc/config/firewall 這個文件來實現開放自己需要的埠到外網。

[php]

config rule 'httpdwan'

option src 'wan'

option dest_port '8088'

option proto 'tcp'

option target 'ACCEPT'

option name ''''httpd wan accept tcp port 8088''''

[/php]

保存後,執行 /etc/init.d/firewall restart 重啟防火牆。

SSH工具:

1.WINSCP(文件傳輸到路由器上嚴重推薦使用)

2.putty中文版 中文的使用的難度相對低一點

3. openwrt和愛快哪個更穩定

從穩定性的角度來看,OpenWrt比愛快更穩定。OpenWrt是一個開源的路由器固件,採用模塊化設計,其穩定性得到了廣泛的認可。OpenWrt的穩定性可以歸因於其嚴格的測試策略和持續的更新。OpenWrt安裝的軟體包都是經過測試和修改含拍飢過的,以確保其穩定性和可靠性。而愛快是一種商業路由器固件,其穩定性可能不如OpenWrt,因為談返開發商可能無法像OpenWrt社區一樣有針對性地修復錯誤和漏洞。另外,愛快吸收了OpenWrt的設計和架構,但是它的資源受限,可賀胡能無法完全發揮OpenWrt的潛力。總之,如果追求穩定性和可靠性,那麼OpenWrt是更好的選擇。

4. OpenWRT網路不穩定頻繁掉線的解決辦法

問題:

電腦還是手機都會經常不定耐孫緩時出現打不開網頁,但是可以訪問內網段設備的情況。需要重啟openwrt,或者隨便點一處「保存並應有」才能上網,不定時又會出現打不開網頁,打開openwrt日誌後發現,斷網的時間總有一昌模條「check(ping)faild for target 「114.114.114.114」on interface wan(eth1)」

日誌如下:

Wed Mar 4 09:12:25 2020 user.info mwan3track[5043]: Check (ping) failed for target "114.114.114.114" on interface wan (pppoe-wan)
Wed Mar 4 09:12:27 2020 user.info mwan3track[5043]: Check (ping) failed for target "114.114.115.115" on interface wan (pppoe-wan)
Wed Mar 4 09:12:34 2020 user.info mwan3track[5043]: Check (ping) failed for target "114.114.114.114" on interface wan (pppoe-wan)
Wed Mar 4 09:12:36 2020 user.info mwan3track[5043]: Check (ping) failed for target "114.114.115.115" on interface wan (pppoe-wan)
Wed Mar 4 09:12:43 2020 user.info mwan3track[5043]: Check (ping) failed for target "114.114.114.114" on interface wan (pppoe-wan)
Wed Mar 4 09:12:45 2020 user.info mwan3track[5043]: Check (ping) failed for target "114.114.115.115" on interface wan (pppoe-wan)
Wed Mar 4 09:12:45 2020 user.notice mwan3track[5043]: Interface wan (pppoe-wan) is offline
Wed Mar 4 09:12:45 2020 user.notice mwan3[11308]: Execute ifdown event on interface wan (pppoe-wan)
Wed Mar 4 09:12:46 2020 user.info mwan3[11308]: connection tracking not flushed on interface wan (pppoe-wan) ifdown
Wed Mar 4 09:12:46 2020 user.info mwan3track[5043]: Detect ifdown event on interface wan (pppoe-wan)
Wed Mar 4 09:13:00 2020 user.info mwan3track[5043]: Check (ping) success for target "114.114.114.114" on interface wan (pppoe-wan)
Wed Mar 4 09:13:06 2020 daemon.err uhttpd[2558]: Illegal instruction

且DNS設置的並不是114.114.114.114,無論是恢復出廠設置還是重新刷機,該問題仍然存在。

解決辦法:

經查找資料,該問題解決辦法如下:

網頁打開軟凱粗路由後台:系統-軟體包-查找mwan3-移除-重啟(如果需要多播,可以在軟體包-未安裝軟體中重新安裝回來)

問題解決,目前穩定運行,再未出現頻繁斷網情況。

據了解,LuCI ---> Applications ---> luci-app-mwan3 網路疊加就是多播的程序,不需要多播的可以移除。

一些注意事項

*luci-app-samba 與luci-app-samba4 兩個選項只可選擇其中的一項,兩項都選中編譯時會因為這兩項包名相同而產生沖突造成中斷。

*WAN口多撥,分流和負載平衡可能會造成$$不正常。取消以下項目:

luci-app-syncdial = null

luci-app-mwan3helper = null

luci-app-mwan3 = null

*luci-app-v2ray-pro 集成後為默認打開狀態,但因為默認情況下未添加任何節點,可能造成極少數網站無法正常打開的情況 (如 阿里雲等),需手動關閉 V2Ray。

*Kcptun 官方暫時沒有適配於 64 位設備 (arm64/aarch64) 的軟體包,如果編譯 64 位設備固件時勾選 Kcptun 將會導致編譯過程中無法找到相應的軟體包而報錯,在 LuCI - Applications - luci-app-ssr-plus 中取消選擇 Include Kcptun,在 Network 中取消對 Kcptun 的編譯。

*Kernel moles - Wireless Drivers可能會產生沖突的軟體包:

kmod-libertas-sdio

kmod-libertas-spi

kmod-libertas-usb

kmod-rsi91x-sdio

kmod-rsi91x-usb

5. openwrt硬路由穩定性不好是不是真的

沒有洞謹這個說法啊,我的OpenWRT每兩周重啟一次就可以了,沒有過搜瞎任何問題啊納漏基

除非你是說非官方支持的硬體,那跑起來可能會有點驅動的問題

6. 如何編譯OpenWrt

搭建編譯環境。編譯建議在Linux下進行。我的系統是Linux mint 17,執行以下命令,構建編譯環境:

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

獲取openwrt源碼。在當前用戶主目錄下執行

git clone git://git.openwrt.org/openwrt.git

等待代碼下載。結束後,目錄下會出現openwrt文件夾。
配置軟體源。進入openwrt目錄,執行

./scripts/feeds update -a

./scripts/feeds install -a

檢查編譯環境是否完整:

make defconfig

make prereq

根據提示信息安裝需要的軟體包。如果提示類似

「tmp/.config-package.in:22022:warning: multi-line strings not supported」

的信息,打開 openwrt/tmp/.config-package.in,定位到對應行,添上丟掉的一個引號就可以了。
編譯選項:

執行 make menuconfig,根據路由器情況,選擇 Target System 和 Subtarget。如意雲一代和極壹S的 Target System 均為 Ralink RT288x/RT3xxx 。對於Subtarget ,前者為 MT7620n based boards ,後者為 MT7620a based boards。

其他選項根據個人喜好選擇。一般來說要選中LuCI界面,選中中文語言包等等。
開始編譯:

執行 make -j2 V=s 進行編譯。-j後面的數字是電腦物理CPU數量加一。V=s可以顯示出編譯的詳細信息。首次編譯大概需要幾個小時的時間。
錯誤排查:

編譯失敗,一般有兩種情況:

1.代碼下載鏈接失效。首次編譯時,編譯程序會實時從網上下載一些軟體包的代碼。如果下載鏈接失效,編譯就會失敗。這時需要根據軟體包的名稱,從網上自行下載,然後放在 openwrt/dl/ 目錄下,執行 make -j2 V=s 繼續編譯即可。

2.軟體包自身有問題。這時重新執行 make menuconfig ,取消對應軟體包選中即可。這種情況比較少見,目前已知的有 tor 等。

編譯成功,但沒有生成固件。這種情況一般是因為選中的軟體包過多,導致固件大小超過16MB。重新執行 make menuconfig,去掉一些軟體包,重新執行編譯即可。
得到固件。在排除了所有錯誤後,現在終於得到了固件。對於如意雲RY-1,固件在 openwrt/bin/ramips 目錄下,形如

openwrt-ramips-mt7620n-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-mlw221-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wr8305rt-squashfs-sysupgrade.bin

等等。

7. 編譯openwrt出現這個錯誤,有人知道怎麼解決嗎

首先, 安裝完依賴(並不是所有的依賴都被腳本檢查), 請參考 OpenWrt Buildroot 然後, 請使用較新的linux發行版, 因為openwrt比較新, 所以相應的host編譯主機也要比較新才行. 最後, 在網路通暢情況下編譯, 再運行一次make V=s試試

閱讀全文

與自己編譯的openwrt穩定性相關的資料

熱點內容
有什麼學習高中語文的app 瀏覽:280
安卓手機的表格里怎麼打勾 瀏覽:407
阿里雲伺服器有網路安全服務嗎 瀏覽:966
超解壓兔子視頻 瀏覽:22
單片機怎麼測負脈沖 瀏覽:172
魅族備份的app在哪裡 瀏覽:738
java倒三角列印 瀏覽:112
通達信回封板主圖源碼 瀏覽:44
戰地什麼伺服器 瀏覽:299
安卓為什麼老是閃退怎麼辦 瀏覽:803
樂高機器人的編程軟體下載 瀏覽:223
工作中怎麼使用加密狗 瀏覽:735
雲伺服器的後台找不到 瀏覽:98
php逐行寫入文件 瀏覽:912
javaoracleweb 瀏覽:440
京東加密碼怎麼弄 瀏覽:467
單片機程序員培訓 瀏覽:992
PHP商城源代碼csdn 瀏覽:636
怎麼把電腦里文件夾挪出來 瀏覽:693
java流程處理 瀏覽:685