Ubuntu编译指定版本OpenWrt
标签搜索

Ubuntu编译指定版本OpenWrt

丶曲終人散ゞ
2024-07-26 / 0 评论 / 98 阅读 / 正在检测是否收录...

最近折腾了一段时间GitHub Action。感觉挺不错的,毕竟可以每天自动化更新。但由于服务器配置原因。编译的速度较慢。一般要2个小时左右才能编译完成。这还是用的应用较少的情况。如果预装应用多一些。时间能更久。为了更好的了解OpenWrt。还是觉的继续折腾一下学习一下比较好。同时,又不想用最新的内核。就觉的用自己的电脑通过VM虚拟机装个Ubuntu编译更快一些。我这边的U是5900一般半个多小时就好了。所以记录一下。
Lean大神源码为例。

克隆openwrt源码。

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

内核版本,这里以5.15作为演示。也可以默认用最新内核。
修改内核版本

vim target/linux/x86/Makefile

找到 KERNEL_PATCHVER,将其修改为 5.15:

KERNEL_PATCHVER:=5.15
KERNEL_TESTING_PATCHVER:=5.15

下载 feeds 源中的软件包源码

./scripts/feeds update -a

安装 feeds 中的软件包

./scripts/feeds install -a

修改 Open­Wrt 系统组件

make menuconfig

将架构选为自己需要对应的。
这里我选择X86

预下载编译所需的软件包

make download -j8 V=s

开始编译

make -j8 V=s

J1代表的线程。我这边选择8线程。请根据自己的需求修改。

其他命令:

拉取 Open­Wrt 源码更新

git pull

更新 feeds 源中的软件包源码

./scripts/feeds update -a

安装 feeds 中的软件包

./scripts/feeds install -a

清除旧的编译产物

make clean

清除旧的编译产物、交叉编译工具及工具链等目录

make dirclean

清除 Open­Wrt 源码以外的文件

make distclean

还原 Open­Wrt 源码到初始状态

git clean -xdf

清除临时文件

rm -rf tmp

删除编译配置文件

rm -f .config

**

编译OpenWrt遇到的一些问题。

**

推荐Feeds源:
https://github.com/kenzok8/openwrt-packages

sed -i '1i src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '2i src-git small https://github.com/kenzok8/small' feeds.conf.default
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

https://github.com/kenzok8/small

sed -i '1i src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '2i src-git small https://github.com/kenzok8/small' feeds.conf.default
./scripts/feeds update -a && rm -rf feeds/luci/applications/luci-app-mosdns
rm -rf feeds/packages/net/{alist,adguardhome,mosdns,xray*,v2ray*,v2ray*,sing*,smartdns}
rm -rf feeds/packages/utils/v2dat
rm -rf feeds/packages/lang/golang
git clone https://github.com/kenzok8/golang feeds/packages/lang/golang
./scripts/feeds install -a 
make menuconfig

https://github.com/kenzok8/small-package

sed -i '$a src-git smpackage https://github.com/kenzok8/small-package' feeds.conf.default
rm -rf feeds/smpackage/{base-files,dnsmasq,firewall*,fullconenat,libnftnl,nftables,ppp,opkg,ucl,upx,vsftpd*,miniupnpd-iptables,wireless-regdb}

一键添加feeds源指令:

sed -i '$a src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '$a src-git small https://github.com/kenzok8/small' feeds.conf.default
sed -i '$a src-git smpackage https://github.com/kenzok8/small-package' feeds.conf.default

或者手动添加 sudo vim feeds.conf.default

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

编译到某些插件时需要提升GOlang版本大于1.22(Sing-box和hysteria)

rm -rf feeds/packages/lang/golang
git clone https://github.com/kenzok8/golang feeds/packages/lang/golang

编译时修改默认主题为luci-theme-argon
修改/lean/feeds/luci/collections/luci下的makefile,
把LUCI_DEPENDS下的luci-theme-bootstrap修改成你想要z主题。
然后make menuconfig把默认的luci-theme-bootstrap勾掉就OK
编译时修改默认lan口IP

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

修改
lan) ipad=${ipaddr:-"192.168.1.1"} ;;
编译时修改默认lan口IP
编译时按照Argon按照github上的指令编译生成镜像后是1.0.2早期版本。
删掉lede/package/lean路径下的luci-theme-argon
将lede/package/lean/luci-theme-argon复制到lede/package/lean/luci-theme-argon即可
也可以通过

rm -rf feeds/luci/themes/luci-theme-argon

删除即可。

FinalShell无法使用文件管理。
安装或编译时启用
Network-SSH-
openssh-sftp-client
openssh-sftp-server
即可

0

评论 (0)

取消