最近折腾了一段时间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
修改 OpenWrt 系统组件
make menuconfig
将架构选为自己需要对应的。
这里我选择X86
预下载编译所需的软件包
make download -j8 V=s
开始编译
make -j8 V=s
J1代表的线程。我这边选择8线程。请根据自己的需求修改。
其他命令:
拉取 OpenWrt 源码更新
git pull
更新 feeds 源中的软件包源码
./scripts/feeds update -a
安装 feeds 中的软件包
./scripts/feeds install -a
清除旧的编译产物
make clean
清除旧的编译产物、交叉编译工具及工具链等目录
make dirclean
清除 OpenWrt 源码以外的文件
make distclean
还原 OpenWrt 源码到初始状态
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"} ;;
编译时按照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)