2023了,你還在等別人的固件嗎?現(xiàn)在小白都可以編譯了,短時間擁有一切功能的OP固件

本人文采不太好,這流水賬純屬于記錄個人編譯的操作,大神請別噴
最近組了黑裙,玩著docker的時候突然想到,ubuntu不也是可以在docker上運行嗎?為什么之前編譯固件的教程都教我們在WSL或者虛擬機ubuntu里面進行呢?docker的運行效率比虛擬機高多了,又不用繁瑣設(shè)置,那么就來試試,反正搞壞了直接刪除容器就好,對宿主機沒有任何影響。
搜索了一圈,居然沒有太多使用docker烏班圖編譯的教程,既然這樣,我就自己摸索一下吧,最后我把編譯好的容器commit成了鏡像,本人重試了五次,確認沒有問題了,如果還有問題,歡迎交流。
由于這個鏡像是已經(jīng)進行了首次編譯后的形成的,所以已經(jīng)包含了環(huán)境和依賴,小伙伴不用擔(dān)心編譯會出錯,這里編譯過程用的是繞過模式,不用全局,畢竟需要的東西大部分都已經(jīng)在鏡像里面了。
這里是hub的連接 https://hub.docker.com/r/sampoon/ubuntu
直接復(fù)制里面的一條條命令都putty或者finalshell等終端即可,下面我演示一下。
因為包含了首次編譯的環(huán)境和依賴,鏡像較大,使用nohup &進行后臺下載
nohup docker pull sampoon/ubuntu:openwrt_sampoon &
大概40分鐘可以完成,喝杯咖啡回來看看,我們鏡像已經(jīng)在等待我們操作了,省去了首次編譯的不確定性和大把時間
docker images

后面就是復(fù)制粘貼hub上面的命令了
包括創(chuàng)建容器,進入ubuntu,使用普通用戶更新代碼,一直到make menuconfig這個熟悉到不能再熟悉的命令
docker run -dit --name ubuntu sampoon/ubuntu:openwrt_sampoon
docker exec -it ubuntu /bin/bash ?
apt-get install sudo
sudo sh -c "apt update && apt upgrade -y"
su sampoon
cd /home/sampoon/lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
rm -rf ./tmp && rm -rf .config
make menuconfig
挑選luci-app我就不多介紹了,反正需要的都有,也不用vim修改feeds,按需索取哦,否則沖突了也不保證的。
然后就是下載和編譯,下載的命令可以多執(zhí)行幾次
make -j4 download V=s
make -j$(($(nproc) + 1)) V=s
由于是二次編譯了,可以全速進行了,不用單核慢慢來,測下來是大概1小時完成,我是i3-8100四核。最后從容器退出來
exit
exit
使用docker復(fù)制出烏班圖里面的文件夾即可,記得按照要求現(xiàn)在群暉新建一個文件夾,復(fù)制好路徑更換到命令里頭。
docker cp ubuntu:/home/sampoon/lede/bin/targets /path_to_your_file

至此就完成了編譯了,第一次包含下載鏡像大概需要2小時,后面就是1小時了,有新協(xié)議出來的,可以嘗試更新下,現(xiàn)在基本都支持了的。