编译Lean的Openwrt固件全攻略

软路由

之前自己配了一台软路由,3205的cpu+8G内存,一直使用Koolshare的LEDE,但是koolss插件已经长期停止更新,而且各种问题,经常死机,说实话算不上一个很好的固件。

后来在网上找其他固件,发现LEAN的LEDE固件非常不错,主要是冲着SSR-plus去的,但是研究了一下发现,这个固件那个是非常的高端啊,要自己用ubuntu编译。

说高端就是高端,不得不说lean大佬这个做的太nb了,用作者的原话是:

如果你自认为 Koolshare 论坛或者其固件的脑残粉,本人不欢迎你使用本源代码。所以如果你是,那么使用过程中遇到任何问题本人概不回应。

作者的Github地址:https://github.com/coolsnowwolf/lede

准备工作

注意

  • 不要用 root 用户 git 和编译!!!
  • 国内用户编译前最好准备好梯子
  • 默认登陆IP 192.168.1.1, 密码 password

Ubuntu新建账户

需要准备一个干净的Ubuntu,不能用root账户,最好在国外。我用的是阿里云的香港轻量,ubuntu 18.04。

  1. 创建用户:vagrant为用户名

    sudo useradd -m vagrant -d /home/vagrant -s /bin/bash

2、为创建的用户设置密码

sudo passwd vagrant

3、修改用户的权限:( /etc/sudoers文件只有r权限,在改动前需要增加w权限,改动后,再去掉w权限 )

(1)为sudoers增加写入权限
      sudo chmod +w /etc/sudoers
      sudo vim /etc/sudoers
(2)为用户XXX添加读写权限
      # User privilege specification 
      root ALL=(ALL:ALL) ALL
      vagrant ALL=(ALL:ALL) ALL    // 这一行为新添加的代码
(3)将sudoers文件的操作权限改为只读模式

安装必备组件

命令行输入 sudo apt-get update ,然后输入

sudo apt-get -y 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 libelf-dev autoconf automake libtool autopoint

开始编译

Clone源码

git clone https://github.com/coolsnowwolf/lede 命令下载好源代码,然后 cd lede 进入目录

配置编译

./scripts/feeds update -a 
./scripts/feeds install -a
make menuconfig 

之后进入如下界面,这实际上是一个配置界面,用来配置编译的配置,并不是编译的过程。

oplean1-1.png
进入Target System和Subtarget勾选你需要编译的平台,我用的是X86,并且是64位的,所以你需要选择自助选择。
oplean1-2.png
进入Target Images勾选你需要的固件格式等(img、vmdk等这里我保持默认,默认也够用了吧?)
oplean1-3.png
进入LuCI–>Applications内选中你需要的插件
oplean1-4.png
oplean1-5.png

在这里有一些别的选项,比如一些VPN、aria2的web管理等等,根据需要自己进去研究。

勾选完需要的东西就可以退回第一个界面保存退出,保存按默认的文件名称(.config)保存即可,不需要修改。编译会根据.config的内容编译,想要恢复到初始配置删掉.config文件即可。

在编译的过程中,要下载一些组件什么的,如果你不翻墙,下载速度会非常慢,甚至下载不下来。

编译

保存后执行以下命令

make -j1 V=s    //第一次编译非常的慢,要花上一两个小时

Snipaste_2019-09-15_22-31-56.png

取得固件

cd bin/targets/x86/64        注:这个bin目录在你克隆源码的lede路径下,非根目录下的bin目录

二次编译

cd lede 进入LEDE目录
git pull 同步更新大雕源码
./scripts/feeds update -a && ./scripts/feeds install -a 更新FEEDS
rm -rf ./tmp && rm -rf .config 清除编译配置和缓存
make menuconfig 进入编译配置菜单
make -j1 V=s n=线程数+1,例如4线程的I5填-j5,开始编译
编译完成后固件输出在/lede/bin/targets

LEAN大佬原版的说明

其实Lean在自己的github中说的很明白了
Welcome to Lean's git source of OpenWrt and packages

中文:如何编译自己需要的 OpenWrt 固件

注意:

  1. 不要用 root 用户 git 和编译!!!
  2. 国内用户编译前最好准备好梯子
  3. 默认登陆IP 192.168.1.1, 密码 password

编译命令如下:

  1. 首先装好 Ubuntu 64bit,推荐 Ubuntu 14 LTS x64
  2. 命令行输入 sudo apt-get update ,然后输入
  3. apt-get -y 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 libelf-dev autoconf automake libtool autopoint
  4. git clone https://github.com/coolsnowwolf/lede 命令下载好源代码,然后 cd lede 进入目录
  5. ./scripts/feeds update -a
    ./scripts/feeds install -a

make menuconfig

  1. 最后选好你要的路由,输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程,国内请尽量全局科学上网)即可开始编译你要的固件了。

本套代码保证肯定可以编译成功。里面包括了 R9 所有源代码,包括 IPK 的。

你可以自由使用,但源码编译二次发布请注明我的 GitHub 仓库链接。谢谢合作!

特别提示:

  1. 源代码中绝不含任何后门和可以监控或者劫持你的 HTTPS 的闭源软件,SSL 安全是互联网最后的壁垒。安全干净才是固件应该做到的。
    2.如果你自认为 Koolshare 论坛或者其固件的脑残粉,本人不欢迎你使用本源代码。所以如果你是,那么使用过程中遇到任何问题本人概不回应。

3.如有问题需要讨论,欢迎加入 QQ 讨论群:Gargoyle OpenWrt 编译大群 ,号码 718010658 ,加群链接 点击链接加入群聊【Op共享技术交流群】:https://jq.qq.com/?_wv=1027&k=5PUGjOG

插件详细清单

OpenWrt 编译 LuCI ---> Applications 添加插件应用说明 【人人为我,我为人人】 2019.8.3 更新 !!!

make menuconfig 进入定制界面
进入编译选项配置界面,.按照需要配置.( ‘*’ 代表编入固件,‘M’ 表示编译成模块或者IPK包, ‘空’不编译 )

非常感谢大佬”L有大雕“更正补充,20181121
欢迎加入大佬 QQ 讨论群:Gargoyle OpenWrt 编译大群 ,号码 718010658 (QQ更新)

选择LuCI 配置:  常用
-----------------------------------------------------------------------------------------
L大雕 选择LuCI 配置:
LuCI ---> Applications ---> luci-app-accesscontrol  #访问时间控制
LuCI ---> Applications ---> luci-app-adbyby-plus   #广告屏蔽大师Plus +
LuCI ---> Applications ---> luci-app-arpbind  #IP/MAC绑定
LuCI ---> Applications ---> luci-app-autoreboot  #高级重启
LuCI ---> Applications ---> luci-app-aliddns   #阿里DDNS客户端
LuCI ---> Applications ---> luci-app-ddns   #动态域名 DNS
LuCI ---> Applications ---> luci-app-filetransfer  #文件传输
LuCI ---> Applications ---> luci-app-firewall   #添加防火墙
LuCI ---> Applications ---> luci-app-frpc   #内网穿透 Frp
LuCI ---> Applications ---> luci-app-guest-wifi  #WiFi访客网络
LuCI ---> Applications ---> luci-app-ipsec-virtual**d  #virtual**服务器 IPSec
LuCI ---> Applications ---> luci-app-mwan   #MWAN负载均衡
LuCI ---> Applications ---> luci-app-mwan3   #MWAN3分流助手
LuCI ---> Applications ---> luci-app-nlbwmon   #网络带宽监视器
LuCI ---> Applications ---> luci-app-p p t p-server  #virtual**服务器 p p t p
LuCI ---> Applications ---> luci-app-ramfree  #释放内存
LuCI ---> Applications ---> luci-app-samba   #网络共享(Samba)
LuCI ---> Applications ---> luci-app-sfe  #Turbo ACC网络加速(开启Fast Path转发加速)
LuCI ---> Applications ---> luci-app-sqm  #流量智能队列管理(QOS)
-------------------------------------------------------------------------------------------
LuCI ---> Applications ---> luci-app-S-S R-plus   #S-S R兲朝上网Plus+
LuCI ---> Applications ---> luci-app-S-S R-plus ---> Include V2ray  #V2Ray透明代理
-------------------------------------------------------------------------------------------
LuCI ---> Applications ---> luci-app-syncdial  #多拨虚拟网卡(原macvlan)
LuCI ---> Applications ---> luci-app-upnp   #通用即插即用UPnP(端口自动转发)
LuCI ---> Applications ---> luci-app-v2ray-pro  #V2Ray透明代理
LuCI ---> Applications ---> luci-app-vlmcsd  #KMS服务器设置
LuCI ---> Applications ---> luci-app-vsftpd  #FTP服务器
LuCI ---> Applications ---> luci-app-wifischedule  #WiFi 计划
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内网穿透
Extra packages  --->  ipv6helper  #支持 ipv6
Utilities  --->  open-vm-tools  #打开适用于VMware的VM Tools

以下是全部:
-----------------------------------------------------------------------------------------
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客户端(已弃,集成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-familycloud   #家庭云盘
LuCI ---> Applications ---> luci-app-filetransfer  #文件传输
LuCI ---> Applications ---> luci-app-firewall   #添加防火墙
LuCI ---> Applications ---> luci-app-flowoffload   #Turbo ACC  FLOW转发加速(集成在sfe)
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-gfwlist   #GFW域名列表(已弃)
LuCI ---> Applications ---> luci-app-hd-idle  #硬盘休眠
LuCI ---> Applications ---> luci-app-hnet  #Homenet Status家庭网络控制协议
LuCI ---> Applications ---> luci-app-kodexplorer  #KOD可道云私人网盘
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-unblockmusic  #解锁网易云灰色歌曲
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透明代理(已弃,集成S-S R)
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内网穿透
LuCI ---> Applications ---> luci-i18n-qbittorrent-zh-cn  #BT下载工具(qBittorrent)
---------------------------------------------------------------------------------------------------
LuCI ---> Collections ---> luci   #添加luci (web界面管理)
LuCI ---> Modules ---> Translations ---> Simplified Chinese (zh-cn) #新版本中文语言包位置
LuCI ---> Themes ---> luci-theme-bootstrap   #默认主题,大家可以自行增减插件
LuCI ---> Translations ---> luci-i18n-chinese   #添加luci的中文语言包
---------------------------------------------------------------------------------------------------
支持 iPv6:
Extra packages  --->  ipv6helper  (选定这个后下面几项自动选择了)
Network  --->  odhcp6c
Network  --->  odhcpd-ipv6only
LuCI  --->  Protocols  --->  luci-proto-ipv6
LuCI  --->  Protocols  --->  luci-proto-ppp

这个地址应该是长期更新插件清单:https://www.right.com.cn/forum/thread-344825-1-1.html


有一个作者维护的frp的ipk:https://github.com/kuoruan/openwrt-frp


即使编译了ssr-plus之后,你发现在菜单里依然没有选项。因为作者又一次调皮了,居然给隐藏了。
输入以下代码后可以看到

echo 0xDEADBEEF > /etc/config/google_fu_mode

看到一个excel维护的luci清单
OpenWRT编译make menuconfig配置及LUCI插件说明.xlsx

引用文章:
https://www.cnvito.top/37.html
https://www.right.com.cn/forum/thread-344825-1-1.html
https://blog.csdn.net/qq_33867131/article/details/86490083

最后修改:2019 年 11 月 05 日 06 : 27 PM

11 条评论

  1. cy

    git clone 的时候是不是要用sudo?不然不给下载呀,怎么办?

    1. cy
      @cy

      好像可以了,之前没在新建用户的文件夹下去执行。

      1. Rui
        @cy

        那就ok啦 其实也挺简单的 选对了选项就ok了

  2. Shaonan

    为什么要两次编译呢,小白求问

    1. Rui
      @Shaonan

      没有两次编译啊?

  3. krya

    感谢,很详细,适合小白。

  4. tianlang

    整理得不错啊 编译好的文件在哪儿。

  5. thang009

    博主找到怎么设置跟koolss一样的控制局域网主机默认不通过ss吗

    1. Rui
      @thang009

      ss里面有路由设定啊

  6. VPS234主机测评

    软路由才行吧

    1. Rui
      @VPS234主机测评

      是的,主要是用在软路由上的。OωO

发表评论