文章的開始先說兩個重點
1.不要使用root用戶編譯,普通用戶編譯即可。
2.自行搭建梯子,以免編譯失敗。
一,進入虛擬機內的Ubuntu系統
點擊左下角的顯示應用程序,我們去修改一下Ubuntu的源。
之后點擊軟件和更新
點擊選擇最佳服務器
稍等片刻后系統會選擇最優的服務器,點擊選擇服務器並輸入密碼即可。
打開終端,輸入:sudo apt update
sudo apt upgrade
將系統軟件升級至最新。
2,安裝編譯環境
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint
3,下載openwrt源碼
mkdir openwrt
sudo chmod 777 openwrt
cd openwrt
git clone https://github.com/openwrt/openwrt.git
openwrt github地址:https://github.com/openwrt/openwrt
4.更新和安裝更多的軟件支持。
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
5.測試下編譯環境
make defconfig
我想我遇到麻煩了,先去解決一下,稍后回來。
不知道啥問題,沒能解決這個依賴問題,沒關系,我們換一個LEDE來玩吧。
git clone https://github.com/coolsnowwolf/lede
這個是冷雪狼的LEDE,反正是折騰,這個也挺好的
再次make defconfig就正常了
6.讓我們愉快的編譯吧
make menuconfig
自己選擇自己的機型,開始編譯即可。
如果是第一次編譯的話,建議使用
make V=99 (佐大教的,V一定要大寫)
昨天晚上編譯了斐訊K2的固件,今天早上過來一看,居然沒有.bin文件。
於是網上找到這個問題的解釋,應該是我選擇了很多的安裝包,然后選擇的是編譯到固件里面,所以就出現了超出固件大小的問題。
沒關系,再來一遍。
cd lede
git pull
同步更新一下冷雪狼的代碼、
./scripts/feeds update -a && ./scripts/feeds install -a
更新一下feeds
rm -rf ./tmp && rm -rf .config
清除編譯配置和緩存
make menuconfig
進入編譯配置菜單
make -jn V=s
n=線程數+1,例如4線程的I5填-j5,開始編譯
編譯完成后固件輸出在/lede/bin/targets
以后二次編譯:
進入LEDE目錄
cd lede
同步更新冷雪狼源碼
git pull
更新FEEDS
./scripts/feeds update -a && ./scripts/feeds install -a
清除編譯配置和緩存
rm -rf ./tmp && rm -rf .config
進入編譯配置菜單
make menuconfig
n=線程數+1,例如4線程的I5填-j5,開始編譯
make -jn V=s
編譯完成后固件輸出在/lede/bin/targets