找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2707|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

編譯openwrt全過程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104835 發(fā)表于 2016-2-2 02:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
http://www.right.com.cn/forum/thread-120759-1-1.html

1、安裝Ubuntu,到 http://www.ubuntu.org.cn/desktop/get-ubuntu/download/ 下載,版本隨便,我選的是10.10 32位版。安裝過程就不說了,圖形化安裝,而且是中文版,連安裝都搞不定的,可以關(guān)閉本頁(yè)面了?梢园惭b在虛擬機(jī)里,也可以安裝在物理機(jī)了,官方建議有條件的最好安裝在物理機(jī)上,大概是說虛擬機(jī)有時(shí)會(huì)有不可預(yù)料的情況,但裝在虛擬機(jī)里的人多得是了。題外話:安裝過程中某一步設(shè)置用戶名密碼時(shí),我是選擇了自動(dòng)登錄,因?yàn)閼械妹看味驾斆艽a登錄,反正只是編譯用的系統(tǒng)又沒什么秘密。

2、安裝好后,在左上角“系統(tǒng)”菜單的“首選項(xiàng)”中選擇“屏幕保護(hù)程序”,然后去掉左下角的“計(jì)算機(jī)空閑時(shí)激活屏幕保護(hù)程序”,然后按“關(guān)閉”,這個(gè)窗口是沒有“應(yīng)用”或“確定”之類的,直接關(guān)閉它就會(huì)保存。用慣了WINDOWS的用戶注意了。為什么要做這步呢? 因?yàn)檎麄(gè)編譯過程中有些步驟要等一段時(shí)間的,老是自動(dòng)啟用屏幕保護(hù)程序,然后還要重新輸密碼才能退出,也是麻煩事。

3、選左上角的菜單“應(yīng)用程序”-“附件”-“終端”,進(jìn)入命令行,然后輸入sudo –sH,注意大小寫,然后輸入裝系統(tǒng)時(shí)設(shè)置的用戶密碼,就能切換到root(提示:輸入密碼的時(shí)候不會(huì)有*之類的顯示的,是完全不顯示,部分人不必驚慌)。切換到root是為了安裝或升級(jí)部分必要的組件,有些組件需要root權(quán)限。

4、切到root后,順序輸入:
apt-get install g++
apt-get install libncurses5-dev
apt-get install zlib1g-dev
apt-get install bison
apt-get install flex
apt-get install unzip
apt-get install autoconf
apt-get install gawk
apt-get install make
apt-get install gettext
apt-get install gcc
apt-get install binutils
apt-get install patch
apt-get install bzip2
apt-get install libz-dev
apt-get install asciidoc
apt-get install subversion

    每一行回車后都會(huì)馬上檢測(cè)安裝或升級(jí)那個(gè)組件,官方WIKI用的是單一條命令,我分開了,因?yàn)檫@樣更容易查看每一個(gè)組件的安裝是否成功。一行命令的話,一大堆東西連續(xù)出來,懶得拖滾動(dòng)條回頭看了。一個(gè)個(gè)分開執(zhí)行方便看一些。個(gè)人喜好了。當(dāng)中最后面的asciidoc組件是需要下載400多MB東西的,慢慢等了。下載東西之前會(huì)有提示本次要下載多少M(fèi)的東西,問是否的,按y然后回車讓它下載就行了。提示:假如它提示找不到軟件包的話,那麻煩你再看清楚命令中的軟件名名稱,因?yàn)橛袝r(shí)是字母中間冒個(gè)數(shù)字1出來之類的,很容易錯(cuò)看成字母L。

5、上述安裝完成后,這一步很重要,就是執(zhí)行Exit命令退出root。如果不退出root的話,那后面會(huì)出現(xiàn)暈人的情況,下一步是下載源碼,以root身份下載源碼后,在后續(xù)操作中有些會(huì)提示不能以root身份操作,但源碼已經(jīng)以root身份下載了,所有文件的“所有者”都是root,退出root后再操作,又會(huì)提示沒有權(quán)限,因?yàn)槲募莚oot的,普通用戶無法訪問,結(jié)果只能用命令修改文件所有者,比較麻煩。所以這里就要退出root,以普通用戶身份執(zhí)行下面的下載源碼命令。其實(shí)一開始安裝組件的時(shí)候可以在命令前加上sudo來達(dá)到臨時(shí)用root身份,執(zhí)行完后又回到普通權(quán)限的目的,但對(duì)于新手來說,不必過于追求這些了,有個(gè)可行的方法就湊合著先用吧。

6、來到這里,操作系統(tǒng)部分完全準(zhǔn)備好了,建議如果用虛擬機(jī)的朋友先做一個(gè)快照,后面編譯部分出了問題大不了恢復(fù)快照重新來過。不知道什么是快照的話,當(dāng)我沒說過這一條。

7、下載源碼,分兩種,一種是最新版但不是最穩(wěn)定,也就是trunk版,一種是相對(duì)穩(wěn)定版,backfire版。源碼下載命令分別是:
先創(chuàng)建文件夾:
Mkdir openwrt
Cd openwrt

Trunk版下載命令:svn co svn://svn.openwrt.org/openwrt/trunk/
Backfire下載命令:svn co svn://svn.openwrt.org/openwrt/branches/backfire/
選擇你想要的版本就行了。然后又是等待下載…

8、開始準(zhǔn)備編譯
Cd Trunk或者Cd backfire
如果不是剛下載的代碼,為了保持代碼為最新狀態(tài),應(yīng)該定期運(yùn)行Svn up更新代碼,什么時(shí)候有變你是不知道的
然后是更新軟件包:
./scripts/feeds update –a
./scripts/feeds install –a
如果不更新軟件包的話,你會(huì)發(fā)現(xiàn)后面是看不到很多軟件包的,也就無法集成那些看不到的包了。然后是make defconfig,再make menuconfig進(jìn)入定制界面,慢慢選了,里面可選只編譯指定設(shè)備的固件,一定要注意選對(duì)自己的設(shè)備類型,然后可以指定該類型下的具體哪一款。配置比較多,不慢慢說了,其實(shí)我也不是很懂,自己進(jìn)去撞幾回就差不多了,有些軟件包你不懂的,就表示你不需要了,有些軟件包你裝官網(wǎng)版本后要另外裝的,你見到了,就可以選上讓它集成,要讓它前面括號(hào)里出現(xiàn)*才表示集成。配置完成后退出記得選保存。如果你想修改源碼,應(yīng)該在此時(shí)進(jìn)行,比如支持大容量Flash之類的修改,自己上網(wǎng)查到修改什么文件什么地方后,就在Ubuntu圖形界面上進(jìn)去找到文件,雙擊打開文本編輯器修改保存。如果想集成中文包或其它非官方包的話,那我也幫你不到了,因?yàn)槲乙策不會(huì)。

9、最后就執(zhí)行make正式開始編譯,首次編譯必然是漫長(zhǎng)的等待。如果是雙核CPU,使用Make –j 2命令可以加快速度,但有人卻不建議使用,官方WIKI也沒說這點(diǎn),我也不知道有沒有好處。但我是4核CPU,使用Make –j 4命令,發(fā)現(xiàn)CPU占用率并沒有明顯提高,看了幫助,發(fā)現(xiàn)可以不加數(shù)字,不加數(shù)字默認(rèn)就是不限制同時(shí)進(jìn)行的任務(wù)數(shù),我用了Make –j不限同時(shí)任務(wù)數(shù)后,CPU居然100%了,但整個(gè)編譯過程的占用率都會(huì)有波動(dòng),剛開始是100%,后面有段時(shí)間是25%左右(也就是只用單核了),然后有時(shí)又會(huì)40%到50%(差不多用了雙核),有時(shí)甚至幾乎沒有操作,CPU占用很低。但首次編譯是特別慢的,第一次之后的都相對(duì)快很多了。悲劇的是,我第一次用Make –j編譯結(jié)果是失敗,然后再一次Make不用參數(shù)才成功,也許就是有人不建議使用的原因,但因?yàn)橛星耙淮蔚木幾g,所以第二次是很快的。也就是說,假如用j參數(shù)能加速的話,雖然有可能會(huì)失敗,但因?yàn)榈诙尾粫?huì)花很長(zhǎng)時(shí)間,所以也許加j參數(shù)還是能在第一次編譯中加速的。不過我沒有對(duì)比加不加-j參數(shù)花的時(shí)間區(qū)別。有興趣的朋友自己對(duì)比吧。

10、編譯完成后會(huì)出現(xiàn)bin文件夾,進(jìn)去找你需要的BIN刷吧。

11、BIN如何傳出? 我是用FTP,甚至是用Firefox上網(wǎng)進(jìn)郵箱都能傳出,對(duì)于一個(gè)不懂LINUX的人來說…

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表