一、先從github clone下來linux
HTTPS : git clone https://git.openwrt.org/openwrt/openwrt.git
若是比較慢或者不能clone能夠換成:git
SSH: git clone git://git.openwrt.org/openwrt/openwrt.git
二、在完成clone以後。而後在openwrt目錄下github
1 ./scripts/feeds update -a 2 ./scripts/feeds install –a
注:./scripts/feeds 這個腳本只是使軟件包出如今 make menuconfig 配置菜單中, 而並非真正的安裝或者編譯軟件。ubuntu
此過程比較慢,建議提早下載好 dl 和 feeds 文件,拷貝到對應目錄下,而後進行後續操做。多線程
三、而後選擇硬件對應的平臺app
make menuconfig
四、編譯ssh
make V=99 或者 make V=s
在這裏我的不建議在第一次編譯的時候使用多線程編譯,容易出問題,若是實在想走出本身的風格,可使用多線程進行編譯post
make V=99 -jn # n爲使用的線程數,好比 1 線程就使用 j1
而後確保聯網沒問題,慢慢等着就好了。測試
一、若是在下載的過程當中出現過早的文件結束符(EOF)ui
fatal: The remote end hung up unexpectedlyB | 44.00 KiB/s fatal: 過早的文件結束符(EOF) fatal: index-pack failed
解決:
git config --global http.postBuffer 1048576000 git config --global http.lowSpeedLimit 0 git config --global http.lowSpeedTime 999999 # 單位 秒
最主要的是:
ssh-keygen -t rsa
回車、回車、再回車
若是還不行,則能夠查看一下大神的記錄,這是傳送門:使用 git 克隆 github 上的項目失敗
二、在進行 make menuconfig 的時候保證終端不要過小,否則也會出現問題的,我正好也經歷過。
三、編譯過程當中
configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
解決:
export FORCE_UNSAFE_CONFIGURE=1 source /etc/profile 而後: su –root # 切換到root帳號 make V=99 # 編譯
則開始往下進行了。
四、若是出現
scripts/config/mconf: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory /home/song/openwrt.cpy/include/toplevel.mk:136: recipe for target 'menuconfig' failed make: *** [menuconfig] Error 127
那麼能夠先用ldd查看一下:
能夠看出來:
openwrt-ramips-mt76x8-cudy_wr1000-squashfs-factory.bin is too big
可是實際咱們須要編譯的是 MT7628 的文件,這個實際上與咱們須要的沒有多大的關係,能夠修改 mt76x8.mk。
vi target/linux/ramips/image/mt76x8.mk
第一種方法:不知道後遺症,可是確定不影響 MT7628 相關的文件
第二種方法:刪掉與cudy_wr1000相關的部分的內容(慎重刪除,若是不須要則直接刪除還能省空間)
上面的基本上都是在編譯的過程當中出現的問題,在openwrt這個修身養性的漫漫長路上,記得要控制好脾氣,畢竟繩命要緊!