一、搭建Ubuntu環境、本身解決、我用的是VirtualBox 感受不錯 python
二、打開「終端」。首先輸入 sudo –sH 大小寫注意!建議直接複製粘貼。而後輸入裝系統時設置的用戶密碼,就能切換到root(提示:輸入密碼的時候不會有*****之類的顯示的,是徹底不顯示,部分人沒必要驚慌)。切換到root是爲了安裝或升級部分必要的組件,有些組件須要root權限。 git
三、依次輸入以下命令(仍是複製粘貼吧) svn
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 post
apt-get install git
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 flex
每一行回車後都會檢測安裝或升級某個組件,一條一條命令的輸入方便檢查哪裏出錯了、從新輸一遍就ok,有的命令會提示要下載東西、輸入「Y」回車 就能夠了。 es5
四、上述安裝完成後,必定要進行這一步,就是執行 exit 命令退出root。 操作系統
五、到這裏操做系統部分已經搞定了。距離成功之差一小步了。 code
六、下載源碼。分兩種,一種是最新版但不是最穩定,trunk 版,一種是相對穩定版,backfire 版。 blog
下載命令分別是: ip
先建立文件夾:(爲了方便存放不一樣類別的代碼,若是你不須要,能夠省略「mkdir openwrt」及「cd openwrt」。)
mkdir openwrt
cd penwrt
而後繼續輸入,選擇版本下載(2選1便可,參考第6項)
Trunk版下載命令:svn co svn://svn.openwrt.org/openwrt/trunk/
Backfire下載命令:svn co svn://svn.openwrt.org/openwrt/branches/backfire/
等待。。。。。。要下載很久
七、開始準備編譯
輸入命令:(下載的哪一個版本的就輸入哪一個)
cd trunk或者cd backfire
爲了保持代碼爲最新狀態,應該按期運行svn up更新代碼
接下來更新軟件包:
./scripts/feeds update -a
./scripts/feeds install -a
而後是
make defconfig
make menuconfig
而後再次過程當中選擇好target system和target profile,target system須要看你路由器的cpu芯片信息,target profile是你路由器的型號。接下來就能夠根據本身的需求進行定製了,添加上須要的支持或去掉無用的包,按「Y」在固件中添加包按「Y」,按「N」去 掉不須要的包。
要運行OH3C,必須有python-mini(lang->python->python-mini)的支持。
若是你的路由器flash空間比較緊張,能夠去掉下面的包:
-
Kernel modules->Network Support->kmod-ppp
-
Network->ppp
選好後就保存配置退出開始編譯了:
make -j
-j 後面能夠跟參數,即同時進行的任務數,好比make -j2,不跟參數意爲不限制同時進行的任務數,會大大減小編譯的時間,特別是首次編譯。
八、生成的固件在~/openwrt/trunk/bin/XXXXX目錄下。