文章

编译k2p的openwrt固件

  最近更新时间:2019-11-04
文章目录

安装

准备

系统:采用ubuntu18.04,使用WSL亦可,也可以选择在VMware或virtualbox中安装一个Ubuntu,要留有足够的磁盘空间(建议30G左右)。
由于在安装中需要从国际互联网上下载很多东西,建议配置一个代理:ProxyChains代理终端网络,提升网络质量
安装所需依赖

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

准备

再次提醒,如果网络条件不好的话,建议使用proxychains或者VPN科学上网,获取更快速度。
这里采用的lean的openwrt源码。
下载源码

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

更新feeds并安装

./scripts/feeds update -a && ./scripts/feeds install -a

添加MTK无线驱动,因为开源驱动尚存一些问题,这里采用的闭源驱动
依然是在源码目录下执行

git clone https://github.com/MeIsReallyBa/k2p-openwrt-mt7615_5.0.2.0 package/mtk

固件配置

执行如下命令开始配置

make menuconfig

如果遇到Your display is too small to run Menuconfig!错误,调大屏幕分辨率即可。

在这里使用空格为选中或取消选中(也可以用Y选中,N取消选中),回车为进入子菜单。
*:将编译并打包进固件,M:只编译不打包进固件。

机型选择

Target System 选择MediaTek Ralink MIPS,Subtarget选择MT7621 based boards,Target Profile选择Phicomm K2P。

配置MTK驱动

可以查看恩山的图文版:https://www.right.com.cn/forum/thread-572784-1-1.html

主菜单选择MTK Properties-->driver-->按Y选中kmod-mt_wifi-->回车进入-->Choose First WiFi Interface-->选择MT7615E;

按Y勾选MT WIFI Driver-->WiFi Operation Modes-->按Y勾选AP-->Exit-->Exit-->选中wifi-l1-profile进入-->确保1st card勾选,其他取消勾选-->Exit-->Exit

回到MTK Properties,选择Misc进入-->勾选mtk-luci-plugin,luci-app-mtk-wifi必选,webconsole可选-->Exit*2回到menuconfig主菜单 #这里确保mtk-luci-plugin为“*”

配置软件

在主菜单中选择LuCI→Applications选择你需要的软件,或者取消你不需要的软件。
插件列表说明:https://www.right.com.cn/forum/thread-344825-1-1.html
如果采用的是openwrt官方源编译,务必要将LuCI→Collections→luci选上,否则可能无法进入web管理界面。

配置IPV6

Extra packages  --->  ipv6helper  (选定这个后下面几项自动选择了)
Network  --->  odhcp6c
Network  --->  odhcpd-ipv6only
LuCI  --->  Protocols  --->  luci-proto-ipv6
LuCI  --->  Protocols  --->  luci-proto-ppp

这里差不多就配置完成了,然后选择Exit,直接OK保存配置,不用改名,默认的.config就可以。

下载文件

在源码目录执行

make download

由于下载的文件较多,建议科学上网。如果发现某些文件实在下载不来可以试试用浏览器/其他工具挂代理下载,然后将相应的tar.gz文件放到lede/dl目录下,并删除未下载完成的对应文件。

编译

依然是源码目录执行

make -jX V=s

其中X建议为你的CPU线程数。一般都会建议先j1避免编译报错(似乎直接使用最大CPU线程编译也可以通过)。
这里需要漫长的等待,视配置不同,可能长达一两个小时,建议做点别的。
至此,编译完成,可以在lede/bin/targets/ramips/mt7621下找到编译生成的文件,我们需要的是openwrt-ramips-mt7621-k2p-squashfs-sysupgrade.bin这个文件。
breed下刷入sysupgrade镜像,闪存布局选择“斐讯0xA0000”,如果布局选择错误可能会导致路由器反复重启。
如果你使用的不是breed而是opboot,先刷initramfs-kernel,开机后再从系统-备份/升级,不保留配置刷入squashfs-sysupgrade,等待重启。

后台地址:192.168.1.1,用户名:root,密码:password

如果采用的是官方源代码编译的话,这里默认没有密码,直接登陆即可。

如果是第二次编译,可以先执行git pull && ./scripts/feeds update -a && ./scripts/feeds install -a更新源码之后再进行编译。
此时可以使用make make -j最大线程数 V=s来加快编译过程,第二次比第一次会快很多,可能几分钟就编译完成了。

补充

关闭LED灯

如果路由器放在卧室,晚上的时候这个等还是有一定影响,这里可以关闭它。打开系统→LED配置,添加一个LED配置。

交叉编译

需要在make menuconfig时选择Build the Openwrt SDK,编译完成之后会出现toolchain-mipsel_24kc_gcc-7.3.0_musl.Linux-x86_64.tar.xz,解压它,然后把解压后的文件夹中的bin目录添加到path环境变量就行了。

export PATH=/home/your_homepath/lede/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/bin:$PATH
export STAGING_DIR=/home/your_homepath/lede/staging_dir

luci应用列表

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-baidupcs-web  #百度网盘管理   *
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(集成阿里DDNS客户端)
LuCI ---> Applications ---> luci-app-diag-core   #core诊断工具
LuCI ---> Applications ---> luci-app-dnscrypt-proxy  #DNSCrypt解决DNS污染
LuCI ---> Applications ---> luci-app-dnsforwarder  #DNSForwarder防DNS污染
LuCI ---> Applications ---> luci-app-dnspod  #DNSPod
LuCI ---> Applications ---> luci-app-docker  #Docker容器    *
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  #文件传输(可web安装ipk包)
LuCI ---> Applications ---> luci-app-firewall   #添加防火墙
LuCI ---> Applications ---> luci-app-flowoffload  #Turbo ACC网络加速(已弃,移至下面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-haproxy-tcp   #HAProxy负载均衡-TCP
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-qbittorrent  #BT下载工具(qBittorrent)
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网络加速(集成FLOW,BBR,NAT,DNS...   *
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-server   #V2Ray 服务器
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内网穿透

全文基于署名-相同方式共享 4.0 国际(CC BY-SA 4.0)授权。转载请注明。
参考链接:
https://github.com/coolsnowwolf/lede
https://www.right.com.cn/forum/thread-839080-1-1.html
https://www.asmodeus.cn/archives/728
https://www.jianshu.com/p/eed71e8a22cc
https://www.right.com.cn/forum/thread-344825-1-1.html
https://www.right.com.cn/forum/thread-572784-1-1.html

发表评论