最近因?yàn)槟承┰蛉は枰褂肙penwrt和SS泊柬。
于是就開(kāi)始了各種入坑之路波附。
首先是Openwrt的編譯仅醇。
網(wǎng)上的教程許多都已經(jīng)過(guò)時(shí)了冗美,最新的openwrt和lede似乎有合并的跡象,目前的版本是17.0.X
在此記錄一下自己的編譯心得析二。
我用的環(huán)境是centos7.
基本上其他發(fā)行版的linux操作都差不多粉洼。
都是安裝基礎(chǔ)環(huán)境-》GIT openwrt的交叉變異工具-》install各種源碼-》make編譯节预。
一、安裝各種基礎(chǔ)編譯組建
yum install asciidoc autoconf binutils bison build-essential bzip2 flex gawk gettext git libncurses5-dev libssl-dev libxml-parser-perl libz-dev patch quilt subversion uglifyjs unzip xsltproc zlib1g-dev
如果后面編譯的時(shí)候提示缺少XX組件属韧,請(qǐng)按照提示找安拟。。宵喂。具體是什么組件我忘了糠赦。如果是其他發(fā)行版的linux,有的組件名字可能不一致锅棕,具體請(qǐng)baidu或者google愉棱。
二、git各種源碼
從此處開(kāi)始哲戚,請(qǐng)不要使用root賬號(hào)操作1蓟!顺少!
從此處開(kāi)始朋其,請(qǐng)不要使用root賬號(hào)操作!4嘌住梅猿!
從此處開(kāi)始,請(qǐng)不要使用root賬號(hào)操作C朐!8を尽!
不然會(huì)有各種神奇的問(wèn)題几蜻。喇潘。。
新建openwrt文件夾:mkdir openwrt
進(jìn)入openwrt目錄 cd openwrt
git源代碼:git clone git://github.com/openwrt/openwrt.git
此時(shí)會(huì)開(kāi)始下載git環(huán)境并下載基礎(chǔ)的代碼梭稚,具體源碼還不會(huì)下載到本地颖低,因此本命令速度較快,直到后面make時(shí)候才會(huì)在線下載弧烤。
三忱屑、修改feed.conf文件
這個(gè)文件里面記錄了feed各個(gè)組件的git地址,里面有個(gè)oldpackage的git暇昂,請(qǐng)把前面的#注釋取消掉莺戒,不然很多功能組件你會(huì)發(fā)現(xiàn)在編譯的時(shí)候找不到。
四急波、編譯
第一次編譯需要配置編譯的選項(xiàng):make menuconfig
會(huì)調(diào)用配置菜單-》選擇你路由的CPU類(lèi)型-》型號(hào)从铲,以及需要的各種功能。幔崖。食店。
此處空格鍵為選中,*為編譯進(jìn)固件赏寇,M為編譯成ipk但是不集成進(jìn)固件之中吉嫩。
最后用make V=99編譯。 V=99表示顯示詳情嗅定,如果出錯(cuò)可以在這里看到出錯(cuò)的信息自娩。
由于第一次編譯會(huì)在網(wǎng)絡(luò)下載各種tar源碼文件,而大多數(shù)文件都是在國(guó)外的站點(diǎn)渠退,因此下載很慢甚至下載失敗都會(huì)導(dǎo)致編譯失敗忙迁。
解決方法1:ss出去,然后下載相關(guān)的源碼碎乃。
2.找國(guó)內(nèi)的鏡像點(diǎn)姊扔,下載相應(yīng)的tar放入openwrt/dl文件夾下
反正我第一次拿服務(wù)器的配置來(lái)編譯,花了大概一個(gè)小時(shí)左右梅誓。
五恰梢、后記
如果編譯成功,第二次編譯相對(duì)速度就會(huì)比較快梗掰。
編譯好的固件位于openwrt/bin/targets/目錄下嵌言,該目錄下還會(huì)有CPU下型號(hào)的文件夾,如bin/targets/ramips/mt7620/openwrt-ramips-mt7620-zbt-wr8305rt-squashfs-sysupgrade.bin
最后的bin就是固件啦及穗,刷入你的路由器就行了摧茴。