利用OpenWRT的Image Builder修改生成不同大小ROM韌體 4MB改8MB 新增package自定義韌體
如果生成的二進位制檔案大小超過了設定的rom大小的話,編譯不會生成相應的bin檔案
很多玩家都會選擇改ROM,比如說很多路由只有4MB ROM 很多人都會選擇改成8MB或者更大,淘寶上亦有很多改好的或者是像GL-iNet這種自己做OpenWRT路由的產品,DIYer不免遇到需要刷OpenWRT官方原版韌體的情況,而此時就會遇到原版韌體是4MB ROM可你已經改成8MB ROM,刷機後導致有4MB的ROM空間無法利用的問題。此時就需要自己修改引數,編譯韌體了。
而網上找到了可以通過修改原始碼的方式來改ROM大小的方法,可是那種方法是下載SVN上的原始碼並修改然後編譯的方法,是最麻煩的方法,需要自己逐步安裝配置編譯環境,下載原始碼等,整個步驟很是繁瑣。
然而其實官方給出了名為Image Builder(Image Generator)的工具包來快捷生成所需韌體,這個工具包已經包含並配置好了所有編譯需要的東西,一條命令即可生成所需的韌體,並且可以通過修改Makefile和一些配置檔案來生成自定義的韌體。
下面逐步介紹通過Image Builder生成自定義韌體的步驟
下載最新的Image Builder
還是開啟OpenWRT的trunk版下載連結:http://downloads.openwrt.org/snapshots/trunk/
以TP-Link WR720N為例,晶片型別為ar71xx,對應的Image Builder的下載連結為:
http://downloads.openwrt.org/snapshots/trunk/ar71xx/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
複製這個連結地址,開啟你的Linux系統(如Ubuntu)的終端,將檔案下載至磁碟上,並解壓,或者使用終端命令:
cd ~
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
tar -xvjf OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2
cd OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64/
如果你用的虛擬機器的Linux系統,記得不要再Windows下解壓後拷貝到Linux下,可能會出問題
然後使用以下命令進行編譯:
make image PROFILE=XXX PACKAGES="pkg1 pk2 -pkg3 -pkg4" FILES=files/
共有三個傳遞的引數:PROFILE PACKAGES FILES
PROFILE=XXX是指預定義的Profile,對應你的路由型號,使用一下命令檢視所有的PROFILE:
make info
PAKAGES後面羅列出需要新增到韌體中的額外的包,不填寫的話只包含預定義的需要的最少的包,如果前面以"-"符號開頭的表示不不含這個包,比如說:PACKAGES="luci luci-i18n-chinese -pppox"
而我們希望耍好的韌體預設安裝luci並開啟相關服務以便我們刷機或者重置後直接通過網頁訪問luci介面配置路由等等 此時我們可以新增以下幾個包,有其他需求可自己新增比如說DDNS SAMBA等等:
luci
luci-i18n-chinese # 中文支援
luci-sgi-uhttpd # 預設開啟utttpd,刷機後可直接網頁訪問luci
luci-app-qos # QOS
luci-app-upnp # UPNP
luci-proto-ipv6 # 向luci新增ipv6相關協議的完整支援
而我們還希望,刷機後可以預設開啟無線(OpenWRT官方韌體預設是不開啟的) 配置好無線和WAN的相關設定 刷完省心 無需再改配置,此時就需要第三個傳遞的引數FILES
可以通過scp命令從當前配置好的路由上下載相關的配置檔案,新增至韌體中來達成,在終端中:
mkdir -p files/etc/config
scp [email protected]:/etc/config/network files/etc/config/
scp [email protected]:/etc/config/wireless files/etc/config/
scp [email protected]:/etc/config/firewall files/etc/config/
期間需要輸入路由器密碼,下載完成後在files資料夾下檢視下載到的檔案
如果需要新增其他的配置檔案,自行執行scp命令即可,格式為:
scp [email protected]路由器IP:配置檔案位置 儲存位置
最後,需要修改ROM大小,在解壓的目錄下,找到:
target/linux/ar71xx(此處替換成自己晶片訊號)/image/Makefile
用文字編輯器開啟Makefile,查詢自己的路由型號,以TPLINK WR720N為例找到以下一行:
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR720NV3,tl-wr720n-v3,TL-WR720N-v3,ttyATH0,115200,0x07200103,1,4Mlzma))
將結尾處的4Mlzma改為8Mlzma儲存即可,即:
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR720NV3,tl-wr720n-v3,TL-WR720N-v3,ttyATH0,115200,0x07200103,1,8Mlzma))
完成以上步驟後可以回到終端,執行make命令生成韌體,如:
make image PROFILE=WL500GP PACKAGES="luci luci-i18n-chinese luci-proto-ipv6 luci-sgi-uhttpd" FILES=files/
如果沒有出現錯誤,就可以在/bin/ar71xx/下找到你相應的bin檔案了
相關推薦
利用OpenWRT的Image Builder修改生成不同大小ROM韌體 4MB改8MB 新增package自定義韌體
如果生成的二進位制檔案大小超過了設定的rom大小的話,編譯不會生成相應的bin檔案 很多玩家都會選擇改ROM,比如說很多路由只有4MB ROM 很多人都會選擇改成8MB或者更大,淘寶上亦有很多改好的或者是像GL-iNet這種自己做OpenWRT路由的產品,DIYer不
利用qt 訊號槽傳遞自定義結構體--藉助QVariant
在前面的部落格裡,我介紹了利用Q_DECLARE_METATYPE和qRegsterMetaType來傳遞自定義的結構體。但是這樣做有個缺點:qRegisterMetaType()只能在main()函式裡才能發揮作用。https://blog.csdn.net/Kelvin_Yan/article/
vc++ 不同對話方塊中傳遞資訊的方法(基於自定義訊息SendMessage)
也是花了一天時間才搞定的。 背景: 新建了一個基於對話方塊的MFC程式,在主對話方塊中新增tabcontrol控制元件,又新建了兩個Dialog(CDialog1和CDialog2),將它們設為tabcontrol控制元件的子對話方塊。 目的: 兩個子對話方塊之間傳遞訊息,子對話方塊與主對話
【unity學習】利用winmm.dll讀取JoyStick的搖桿情況與按鍵情況,並可以自定義繫結函式
目錄 目錄 概述 整體程式碼 詳細說明 結語 概述 因為專案的原因,需要對方向盤、搖桿的資料進行讀取與使用。購買的是市面上比較一般的搖桿,沒有什麼API之類的供開發使用,所以自己寫了兩個指令碼,用來控制和讀取資料。還有很多不足,為了防止之後忘了~不對的地
如何利用rem在移動端不同設備上讓字體自適應大小
iter war width roi wrap 到手 num params 並且 rem由來:font size of the root element,那麽rem是個單位,單位大小由它第一代老祖宗的font-size的大小決定。現在前端碼農們為了能在各個屏幕上看到
利用反射機制修改Dialog的各文字元件的顏色、字型大小等屬性
作為程式設計師,要想讓元件有與眾不同的效果,必須學會編寫自定義View。 這次我就先從自定義Dialog中元件的基本屬性開始學習。 一個最基本的Dialog: 乍一看視覺效果還可以,但當我們想改變一下標題的文字顏色或者按鈕顏色應該怎麼做呢? 檢
eclipse/myeclipse修改記憶體大小(針對不同大小記憶體設定ini檔案配置)
方法一: 開啟eclipse,選擇Window–Preferences…在對話方塊左邊的樹上雙擊Java,再雙擊Installed JREs,在右邊選擇前面有對勾的JRE,再單擊右邊的“Edit”按鈕, 出現一個 Edit JRE 的對話方塊,在其中的Def
分針網——每日推薦: 根據屏幕大小,加載不同大小的圖片
加載圖片 引言 今天要介紹的東西,很簡單,但是對於前端響應式的時候是個很重要的知識; 我們在用bootstrap這類前端框架時, 雖然頁面局部通過media query實現了,頁面始終無滾
分針網—每日分享: 根據屏幕大小,加載不同大小的圖片
head code kth 針對 ive key 寫代碼 ini reat 引言 今天要介紹的東西,很簡單,但是對於前端響應式的時候是個很重要的知識; 我們在用bootstrap這類前端框架時, 雖然頁面局部通過media query實現了,頁面始終無
VC2010 利用 def 文件生成 dll 文件的方法
urn fontsize std eas fcm rar 文件的 利用 發現 近期有個需求,要生成一個dll 文件。文件裏的函數都是採用 stdcall 函數調用約定,可是不希望函數名被修飾(add 被修飾成 [email protected]/* */)。
利用sys.dm_db_index_physical_stats查看索引大小/碎片等信息
動態 rom 級別 tex 所在 新建 包含 blank detailed 我們都知道,提高sql server的數據查詢速度,最有效的方法,就是為表創建索引,而我們對數據表進行新增,刪除,修改的時候,會產生索引碎片,索引碎片多了,對性能產生很大的影響,索引碎片越多對數據庫
背景圖片利用backgrond-posintion屬性實現不同形式的分割
utf title borde images set absolut font 圖片 charset <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &
根據屏幕大小,加載不同大小的圖片
clas con blog dev tee htm -c script log <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &
Eclipse4.7使用基礎 修改生成的.java文件模板,添加作者信息與創建時間
file nbsp .com alt gen true clip ref 文件 os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) referen
利用反射來自動生成簡單的接口文檔
oid null ttr 自動 get 接口測試 hashmap obj exception 一:簡介 以前做項目提供接口時,每一個接口文檔都是手寫,手寫接口文檔有很多不足,比如:寫接口文檔比較消耗時間,參數首字母是小寫,如果將參數直接復制到word文檔,第一個
要求根據RandomStr.java:使用類型轉換生成六位驗證字符串,示例程序每次運 行時,都會生成不同的字符串。
str ima method edi 驗證碼 不同的 [] 類型 直接 1.程序設計思想驗證碼 ①定義一個字符串變量來保存隨機生成的。 ②利用循環產生六位隨機數,在產生每一位時將其轉換為char類型並寫在字符串後面。 ③利用對話框顯示生成的驗證碼,並提示用戶輸入驗證碼。 ④
java中如何使用空參構造方法自動生成不同名字的對象,使用非靜態的屬性和靜態屬性有什麽區別,原因是什麽?如何理解static關鍵字
區別 關鍵字 內部 方法 屬性 count per setname person 空參構造自動生成對象時,使用非靜態的屬性 代碼: package com.swift; //使用無參構造方法自動生成對象,序號不斷自增 public class Person { p
VC2010 利用 def 文件生成 dll 文件的方法 轉載
gravity nts lib toc -m fontsize _stdcall string tool 最近有個需求,要生成一個dll 文件,文件中的函數都是采用 stdcall 函數調用約定,但是不希望函數名被修飾(add 被修飾成 add@8)。這時就要用def 文件
android studio 利用gradle和cmakelist生成c++靜態庫.a的方法總結
nts 需求 roi ++ build mat 頭文件 方法 ext android生成靜態庫的方法有兩種,一種是編輯android.mk文件,一種是編輯cmakelist文件。前一種沒做研究,因為用的ide是android studio,所以直接利用gradle調用cma
利用Google API快速生成QR二維碼
int char 利用 utf return 包含 尺寸 ret pre //laravel public function index(){ $urlToEncode="http://www.baidu.com"; $this ->