Openwrt编译时用官方原版的源,然后加入lean的插件源

虚拟机先安装Vmtools和SSH:

1
2
3
sudo apt-get update
sudo apt-get install openssh-server open-vm-tools-desktop -y
sudo reboot

把以下地址加入自定义gfwlist可提高成功率:

1
2
3
4
h12.io
go.starlark.net
golang.org
honnef.co
  1. 命令行输入 sudo apt-get update ,然后输入,跟下面的哪个依赖差不多。可能有点小差别
    1
    sudo apt-get 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 autoconf automake libtool autopoint libelf-dev

单独编译某一个软件:这个是只编译adbyby-plus

1
make package/lean/luci-app-adbyby-plus/compile V=99

以后二次编译:

1
2
3
4
5
6
cd lede                                                          进入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

官方源:

1
git clone https://github.com/lede-project/source.git

lean源:

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

一、将lean的插件包拷贝至官方openwrt的package里面

这里的lede文件夹和source文件夹分别是lean的编译包和官方原版的编译包

①找的lede编译包里面的lean复制,路径:lede-package-lean

②拷贝到官方编译包里的package目录,路径:source-package

二、配置编译环境

①更新一下源

1
sudo apt-get update

②安装openwrt编译需要的环境,这里两种安装方式(两种方式二选一)
1.一建安装全部编译所需的依赖

1
sudo apt-get 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

2.手动一个一个的添加安装依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo apt-get install build-essential
sudo apt-get install subversion
sudo apt-get install git-core
sudo apt-get install libncurses5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install gawk
sudo apt-get install flex
sudo apt-get install quilt
sudo apt-get install libssl-dev
sudo apt-get install xsltproc
sudo apt-get install libxml-parser-perl
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install ecj
sudo apt-get install cvs
sudo apt-get install unzip

三、终端进入官方源进行更新feeds

1
2
3
cd source
./scripts/feeds update -a
./scripts/feeds install -a

四、测试一下编译环境

1
make  defconfig

五、进入编译主界面

1
make menuconfig

第一选项进去选择你对应的CPU型号,我是编译X86平台的所以我选X86

为原版openwrt安装界面框架找到LuCI-Collections在里面选择你要安装的后台界面框架

安装中文语言LuCI-Modules-Translations选择Chines(zh-cn)

安装所需的应用LuCI-Applications

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
luci-app-accesscontrol
luci-app-adbyby-lpus
luci-app-arpbind
luci-app-autoreboot
luci-app-ddns
luci-app-filetransfer
luci-app-firewall
luci-app-nlbwmon
luci-app-pptp-swrver
luci-app-ramfree
luci-app-sfe
luci-app-sqm
luci-app-ssr-plus
luci-app-upnp
luci-app-usb-printer
luci-app-vlmcsd
luci-app-watchcat
luci-app-wifischedule
luci-app-wol
luci-app-wrtbwmon

选择一个主题LuCI-Themes

安装dnsmasq-full,在base system知道nsmasq-full安装,取消dnsmasq

六、选择需要编译的格式,Target Images

七、开始编译

1
make -j1 V=s  -j1 后面是线程数。第一次编译推荐用make V=99,国内请尽量全局科学上网)

八、需要修改固件等信息在package-lean-default-settings-files-zzz-default-settings

九、SSR-PLLUS被隐藏了,编译好后装好机,输入以下命令即可出来

1
echo 0xDEADBEEF > /etc/config/google_fu_mode

————————————————————————————————————————————————————————
LuCI —> Applications —> luci-app-accesscontrol #访问时间控制
LuCI —> Applications —> luci-app-adblock #ADB广告过滤
LuCI —> Applications —> luci-app-adbyby-plus #广告屏蔽大师Plus +
LuCI —> Applications —> luci-app-adbyby #广告过滤大师(已弃)
LuCI —> Applications —> luci-app-adkill #广告过滤(已弃)
LuCI —> Applications —> luci-app-advanced-reboot #Linksys高级重启
LuCI —> Applications —> luci-app-ahcp #支持AHCPd
LuCI —> Applications —> luci-app-aliddns #阿里DDNS客户端
LuCI —> Applications —> luci-app-amule #aMule下载工具
LuCI —> Applications —> luci-app-aria2 # Aria2下载工具
LuCI —> Applications —> luci-app-arpbind #IP/MAC绑定
LuCI —> Applications —> luci-app-asterisk #支持Asterisk电话服务器
LuCI —> Applications —> luci-app-attendedsysupgrade #固件更新升级相关
LuCI —> Applications —> luci-app-autoreboot #支持计划重启
LuCI —> Applications —> luci-app-bcp38 #BCP38网络入口过滤(不确定)
LuCI —> Applications —> luci-app-bird4 #Bird 4(未知)
LuCI —> Applications —> luci-app-bird6 #Bird 6(未知)
LuCI —> Applications —> luci-app-bmx6 #BMX6路由协议
LuCI —> Applications —> luci-app-bmx7 #BMX7路由协议
LuCI —> Applications —> luci-app-caldav #联系人
LuCI —> Applications —> luci-app-cjdns #加密IPV6网络相关
LuCI —> Applications —> luci-app-clamav #ClamAV杀毒软件
LuCI —> Applications —> luci-app-commands #Shell命令模块
LuCI —> Applications —> luci-app-cshark #CloudShark捕获工具
LuCI —> Applications —> luci-app-ddns #动态域名 DNS
LuCI —> Applications —> luci-app-diag-core #core诊断工具
LuCI —> Applications —> luci-app-dnscrypt-proxy #DNSCrypt解决DNS污染
LuCI —> Applications —> luci-app-dnscrypt-dnsforwarder #DNSForwarder防DNS污染
LuCI —> Applications —> luci-app-dnspod #DNSPod
LuCI —> Applications —> luci-app-dump1090 #民航无线频率(不确定)
LuCI —> Applications —> luci-app-dynapoint #DynaPoint(未知)
LuCI —> Applications —> luci-app-e2guardian #Web内容过滤器
LuCI —> Applications —> luci-app-filetransfer #文件传输
LuCI —> Applications —> luci-app-firewall #添加防火墙
LuCI —> Applications —> luci-app-flowoffload #Turbo ACC FLOW转发加速
LuCI —> Applications —> luci-app-freifunk-diagnostics #freifunk组件 诊断(未知)
LuCI —> Applications —> luci-app-freifunk-policyrouting #freifunk组件 策略路由(未知)
LuCI —> Applications —> luci-app-freifunk-widgets #freifunk组件 索引(未知)
LuCI —> Applications —> luci-app-frpc #内网穿透 Frp
LuCI —> Applications —> luci-app-fwknopd #Firewall Knock Operator服务器
LuCI —> Applications —> luci-app-guest-wifi #WiFi访客网络
LuCI —> Applications —> luci-app-hd-idle #硬盘休眠
LuCI —> Applications —> luci-app-hnet #Homenet Status家庭网络控制协议
LuCI —> Applications —> luci-app-kooldns #virtual服务器 ddns替代方案(已弃)
LuCI —> Applications —> luci-app-koolproxy #KP去广告(已弃)
LuCI —> Applications —> luci-app-lxc #LXC容器管理
LuCI —> Applications —> luci-app-meshwizard #网络设置向导
LuCI —> Applications —> luci-app-minidlna #完全兼容DLNA / UPnP-AV客户端的服务器软件
LuCI —> Applications —> luci-app-mjpg-streamer #兼容Linux-UVC的摄像头程序
LuCI —> Applications —> luci-app-mmc-over-gpio #添加SD卡操作界面(已弃)
LuCI —> Applications —> luci-app-multiwan #多拨虚拟网卡(已弃)
LuCI —> Applications —> luci-app-mwan #MWAN负载均衡
LuCI —> Applications —> luci-app-mwan3 #MWAN3分流助手
LuCI —> Applications —> luci-app-n2n_v2 #N2N内网穿透 N2N v2 virtual
服务
LuCI —> Applications —> luci-app-nft-qos #QOS流控 Nftables版(已弃)
LuCI —> Applications —> luci-app-ngrokc #Ngrok 内网穿透(已弃)
LuCI —> Applications —> luci-app-nlbwmon #网络带宽监视器
LuCI —> Applications —> luci-app-noddos #NodDOS Clients 阻止DDoS攻击
LuCI —> Applications —> luci-app-ntpc #NTP时间同步服务器
LuCI —> Applications —> luci-app-ocserv #OpenConnect virtual服务
LuCI —> Applications —> luci-app-olsr #OLSR配置和状态模块
LuCI —> Applications —> luci-app-olsr-services #OLSR服务器
LuCI —> Applications —> luci-app-olsr-viz #OLSR可视化
LuCI —> Applications —> luci-app-ocserv #OpenConnect virtual
服务(已弃)
LuCI —> Applications —> luci-app-openvirtual** #Openvirtual客户端
LuCI —> Applications —> luci-app-openvirtual
-server #易于使用的Openvirtual服务器 Web-UI
LuCI —> Applications —> luci-app-oscam #OSCAM服务器(已弃)
LuCI —> Applications —> luci-app-p910nd #打印服务器模块
LuCI —> Applications —> luci-app-pagekitee #Pagekite内网穿透客户端
LuCI —> Applications —> luci-app-polipo #Polipo代理(是一个小型且快速的网页缓存代理)
LuCI —> Applications —> luci-app-pppoe-relay #PPPoE NAT穿透 点对点协议(PPP)
LuCI —> Applications —> luci-app-p p t p-server #virtual
服务器 p p t p
LuCI —> Applications —> luci-app-privoxy #Privoxy网络代理(带过滤无缓存)
LuCI —> Applications —> luci-app-qos #流量服务质量(QoS)流控
LuCI —> Applications —> luci-app-radicale #CalDAV/CardDAV同步工具
LuCI —> Applications —> luci-app-ramfree #释放内存
LuCI —> Applications —> luci-app-rp-pppoe-server #Roaring Penguin PPPoE Server 服务器
LuCI —> Applications —> luci-app-samba #网络共享(Samba)
LuCI —> Applications —> luci-app-samba4 #网络共享(Samba4)
LuCI —> Applications —> luci-app-sfe #Turbo ACC网络加速(开启Fast Path转发加速)
LuCI —> Applications —> luci-app-s-s #SS兲朝上网(已弃)
LuCI —> Applications —> luci-app-s-s-libes #SS-libev服务端
LuCI —> Applications —> luci-app-shairplay #支持AirPlay功能
LuCI —> Applications —> luci-app-siitwizard #SIIT配置向导 SIIT-Wizzard
LuCI —> Applications —> luci-app-simple-adblock #简单的广告拦截
LuCI —> Applications —> luci-app-simple-softethervirtual** #SoftEther virtual服务器 NAT穿透(已弃)
LuCI —> Applications —> luci-app-splash #Client-Splash是无线MESH网络的一个热点认证系统
LuCI —> Applications —> luci-app-sqm #流量智能队列管理(QOS)
LuCI —> Applications —> luci-app-squid #Squid代理服务器
——————————————————————————————-
LuCI —> Applications —> luci-app-S-S R-plus #S-S R兲朝上网Plus+
LuCI —> Applications —> luci-app-S-S R-plus —> Include s-s New Versiong #新SS代理
LuCI —> Applications —> luci-app-S-S R-plus —> Include V2ray #V2Ray透明代理
LuCI —> Applications —> luci-app-S-S R-plus —> Include Kcptun #Kcptun代理
LuCI —> Applications —> luci-app-S-S R-plus —> Include s-sR Server #S-S R客户端
LuCI —> Applications —> luci-app-S-S R-plus —> Include s-sR Socks and Tunnel #S-S R代理
——————————————————————————————-
LuCI —> Applications —> luci-app-S-S R-pro #S-S R-Pro
LuCI —> Applications —> luci-app-S-S Rserver-python #s-sR Python服务器
LuCI —> Applications —> luci-app-statistics #流量监控工具
LuCI —> Applications —> luci-app-syncdial #多拨虚拟网卡(原macvlan)
LuCI —> Applications —> luci-app-tinyproxy #Tinyproxy是 HTTP(S)代理服务器
LuCI —> Applications —> luci-app-transmission #BT下载工具
LuCI —> Applications —> luci-app-travelmate #旅行路由器
LuCI —> Applications —> luci-app-ttyd #网页终端命令行
LuCI —> Applications —> luci-app-udpxy #udpxy做组播服务器
LuCI —> Applications —> luci-app-uhttpd #uHTTPd Web服务器
LuCI —> Applications —> luci-app-unbound #Unbound DNS解析器
LuCI —> Applications —> luci-app-upnp #通用即插即用UPnP(端口自动转发)
LuCI —> Applications —> luci-app-usb-printer #USB 打印服务器
LuCI —> Applications —> luci-app-v2ray-pro #V2Ray透明代理
LuCI —> Applications —> luci-app-vlmcsd #KMS服务器设置
LuCI —> Applications —> luci-app-vnstat #vnStat网络监控(图表)
LuCI —> Applications —> luci-app-virtual
bypass #virtual** BypassWebUI 绕过virtual设置
LuCI —> Applications —> luci-app-vsftpd #FTP服务器
LuCI —> Applications —> luci-app-watchcat #断网检测功能与定时重启
LuCI —> Applications —> luci-app-webadmin #Web管理页面设置
LuCI —> Applications —> luci-app-webshell #网页命令行终端(已弃)
LuCI —> Applications —> luci-app-wifischedule #WiFi 计划
LuCI —> Applications —> luci-app-wireguard #virtual
服务器 WireGuard状态
LuCI —> Applications —> luci-app-wireless-regdb #WiFi无线
LuCI —> Applications —> luci-app-wol #WOL网络唤醒
LuCI —> Applications —> luci-app-wrtbwmon #实时流量监测
LuCI —> Applications —> luci-app-xlnetacc #迅雷快鸟
LuCI —> Applications —> luci-app-zerotier #ZeroTier内网穿透
——————————————————————————————-
支持 iPv6:
Extra packages —> ipv6helper (选定这个后下面几项自动选择了)
Network —> odhcp6c
Network —> odhcpd-ipv6only
LuCI —> Protocols —> luci-proto-ipv6
LuCI —> Protocols —> luci-proto-ppp

转载原创文章请注明,转载自: Vedio Talk

建议:

编译机最好100G起步,全局梯子
编译前下载好DL包,可大量缩减首次编译时间
此DL包,不定期更新,可编译X64固件
链接: https://pan.baidu.com/s/1dy4L8b775NRCApd8mXZ9Cg 密码: mjdl

以下操作请把mj替换为自己的用户名

DL:
如果存在/home/mj/lede/dl目录,请删除
WINSCP上传dl.tgz放进/home/mj 目录下,右键-文件自定义命令-Untar/Gzip,直接回车,解压出DL文件夹后,执行以下命令
ln -s /home/mj/dl /home/mj/lede

涡轮增雕法:
WINSCP上传diy.tgz放进/home/mj 目录下,右键-文件自定义命令-Untar/Gzip,直接回车,解压出diy文件夹后,执行以下命令
ln -s /home/mj/diy /home/mj/lede/package/openwrt-packages
这样编译就会加载/package/lean和/package/openwrt-packages,如果软件包同名openwrt-packages优先级低
使用涡轮增雕法,可把大雕删除的软件打包回去编译,或者增加其他插件例如KP
目前大部分源码已重新添加,不需要的忽略。
打开LEDE目录/target/linux/架构/Makefile
KERNEL_PATCHVER:=4.9
具体支持内核版本
include/kernel-version.mk

源码回退:

git log 查看源码更新日志
git reset –hard HEAD^ 回退到上个版本
git reset –hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset –hard commit_id 退到/进到 指定commit的sha码(可到大雕源码地址直接查询)

files大法:就是把你 改好的配置 直接编译进固件
这样做的好处就是升级不需要保留配置,或者恢复出厂设置,缺省值就是你自己设置好的配置
固化某配置教程例子:
1.提取路由固件下的\etc\config\network
2.在编译机LEDE根目录下创建files目录
3.拷贝到\files\etc\config\network
这样编译完,network就是你自己配置好的network,注意提取的文件路径和权限要一致

一些常用的配置,路由器路径
\etc\config 各个LUCI配置
\etc\gfwlist gfwlist目录
\etc\shadow 登录密码
\etc\firewall.user 自定义防火墙规则
\usr\share\adbyby adbyby里的相关规则和设置
\usr\lib\lua\luci\view\admin_status\index.htm 主页样式文件,温度显示等等
X86架构固件的index,默认被大雕files强奸了,自己到源码里替换/lede/package/lean/autocore/files/index.htm
如果无效请make clean或者删除/lede/build_dir/target架构/autocore-1(编译其他失败同理)

-------------���Ľ�����л�����Ķ�-------------
0%