天天看點

Ubuntu下用Lean源碼編譯openwrt及一行指令u盤啟動openwrt安裝x86硬碟上

Ubuntu下用Lean源碼編譯openwrt

源碼位址:https://github.com/coolsnowwolf/lede

1:首先微軟雲伺服器裝好 Ubuntu 64bit,推薦 Ubuntu 20.04 LTS x64,免費一年。ip設定在地球某處。總結就是每一步需要下載下傳的都得下載下傳完,不然編譯容易出錯.

2:ssh連接配接微軟雲伺服器,指令行輸入,安裝編譯依賴

sudo apt-get update

sudo apt full-upgrade -y

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 device-tree-compiler g+±multilib antlr3 gperf wget curl swig rsync

3: 下載下傳源代碼進入目錄

git clone https://github.com/coolsnowwolf/lede

cd lede

4:更新feeds 并增加一些其他插件https://github.com/kenzok8/openwrt-packages,添加下面代碼到雲伺服器/lede目錄下的 feeds.conf.default 檔案中添加:

src-git kenzo https://github.com/kenzok8/openwrt-packages

src-git small https://github.com/kenzok8/small

然後再指令行輸入

./scripts/feeds update -a

./scripts/feeds install -a

5: 選擇配置需要安裝app

make menuconfig

6:下載下傳 dl 庫,編譯固件 (-j 後面是線程數,第一次編譯推薦用單線程)

make -j8 download V=s

make -j1 V=s

編譯成功後,在/lede/bin/targets/x86/64

再次編譯 (适用于不更改配置功能和插件,僅更新)

cd lede

git pull

./scripts/feeds update -a && ./scripts/feeds install -a

make defconfig

make -j8 download

make -j ( ( (( (((nproc) + 1)) V=s

更改配置編譯

cd lede

rm -rf ./tmp && rm -rf .config

make menuconfig

make -j ( ( (( (((nproc) + 1)) V=s

一行指令u盤啟動openwrt安裝x86硬碟上

dd if=/dev/zero of=/dev/sda #格式化硬碟

dd if=/tmp/upload/openwrt-x86-64-generic-squashfs-combined-efi.img of=/dev/sda

#定制自己的固件

#軟體源

src-git helloworld https://github.com/fw876/helloworld

src-git kenzo https://github.com/kenzok8/openwrt-packages

src-git small https://github.com/kenzok8/small

#核心修改

/target/linux/x86/Makefile 修改 KERNEL_PATCHVER:=核心版本

#修改預設IP位址

package/base-files/files/bin/config_generate

#修改版本号 檔案中的R22.3.13及OpenWrt

lede/package/lean/default-settings/files/zzz-default-settings (注意OpenWrt後面的空格)

#定制個性SSH登陸歡迎資訊

lede/package/base-files/files/etc/banner

#修改預設主題界面

lede/feeds/luci/collections/luci/Makefile檔案更改預設主題

lede/feeds/luci/collections/luci-ssl-nginx/Makefile

lede/feeds/luci/collections/luci-ssl-openssl/Makefile

這三個檔案都要修改預設主題名字,不然後面編譯可能會報錯

#克隆源碼插件庫

cd lede/package/lean

git clone https://github.com/rufengsuixing/luci-app-adguardhome.git

#給tmp權限,友善下載下傳

sudo chmod -R 777 tmp

更改LAN口的預設IP位址

cd lede

vim package/base-files/files/bin/config_generate

大概在99行找到我們預設的原IP位址(192.168.1.1),按“i”把對應的IP更改即可

然後按shift+: 輸入wq回車儲存退出

編譯豐富插件時,建議修改下面兩項預設大小,留足插件空間。( x86/64 )!!!

Target Images —> (16) Kernel partition size (in MB) #預設是 (16) 建議修改 (256)

Target Images —> (160) Root filesystem partition size (in MB) #預設是 (160) 建議修改 (512)

如果需要 Cloudflare DDNS 元件

預設情況下 Open¬Wrt 中并沒有 Cloud¬flare DDNS 功能,就算勾選了DDNS也不包含cloudflare營運商。是以需要在編譯時選擇相應的元件,其位置在 Network→IP Addresses and Names →ddns-scripets_cloudflare.com-v4

更改 固件版本資訊

sed -i “s/OpenWrt /$(date +%Y.%m.%d) 2022/xx/xx /g” package/lean/default-settings/files/zzz-default-settings