找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 66267|回复: 114

自编译 OpenWrt 固件,支持全系树莓派/竞斗云/x86_64设备

 火.. [复制链接]
发表于 2019-1-13 21:56 | 显示全部楼层 |阅读模式
本帖最后由 1215009714 于 2020-6-17 21:32 编辑

文章更新
20200502重构文章以增加可读性

写在前面

OpenWrt是适合于嵌入式设备的一个Linux发行版,小苏为大家带来的是自己编译的OpenWrt固件~
经过很长时间的打磨(咕咕),“自编译OpenWrt固件”现已支持树莓派全系设备(1B~4B),竞斗云和x86_64设备。

得益于GithubAction的支持,在之后的版本中,固件将会基于GithubAction进行更新,暂定每日更新一个版本。这种“偏向激进”的更新策略可以让大家以最快速度体验到上游源码和第三方包项目在OpenWrt上提交的优化和新特性,当然可能会出现一些Bug和不稳定因素,但考虑到折腾OpenWrt的目标用户都是“极客”用户,长远来说,这种更新策略应该利大于弊。

特别感谢以下项目:
Openwrt官方项目:
https://github.com/openwrt/openwrt
Lean大的Openwrt项目:
https://github.com/coolsnowwolf/lede
CTCGFW'sTeam的OpenWrt项目:
https://github.com/project-openwrt
P3TERX大佬的Actions-OpenWrt项目:
https://github.com/P3TERX/Actions-OpenWrt
除这些项目之外,也特别感谢所有为OpenWrt项目作出贡献以及开发OpenWrt第三方包项目的朋友们!

版本说明
固件分为三个版本,Lean版,Offical版,Project版:版本为Lean为基于Lean大源码编译的固件(Luci采用Lean版Luci18.06);
版本为Offical为基于OpenWrt官方源码Master分支编译的固件(Luci采用官方版Luci19.07);版本为Project为基于Project-OpenWrt源码18.06-kernel5.4分支编译的固件,目前在仍处于测试阶段(Luci采用Lean版Luci18.06)。
树莓派2B的固件通用于树莓派2B、3B、3B+、4B,但板载无线功能可能不可用。

树莓派1~4
树莓派所有版本固件均未添加IPV6支持
树莓派所有版本固件内均已集成所有kmodipk软件包(kmodipk软件包路径:/www/snapshots),opkg软件源也做好了相应设置,无需进行任何额外设置即可使用opkg从本地直接获取kmod包,从此和kmod不兼容情况说拜拜~
本项目中的所有树莓派固件均已集成USB有线网卡驱动和3G/4GUSB网卡驱动。因USB无线网卡驱动各版本支持情况不同,故集成情况也不同;
Lean版固件使用Lean大源码编译,运行稳定,但对于树莓派1~4来说,USB无线网卡驱动支持较差,故固件内未集成除板载无线网卡之外的其他驱动,如确实需要无线网卡驱动,需要自行使用opkg安装相应驱动,如果你仅用作旁路由使用,建议使用此版;
Offical版固件使用官方Snapshot源码+官方LuCI19.07源码编译,源码处于高度活跃开发状态,固件有时可能会因源码问题编译失败,无线网卡驱动支持性较好,固件内已内置大部分USB无线网卡驱动,无需另外安装,在Offical版固件的基础上,添加了大多数Lean版源码中的插件,但插件数量少于Lean版(未集成进Offical固件的Lean版插件即为不支持),对官方源的兼容性较好,如果你有无线网卡需求,并有从软件源中安装软件包的需求,可以考虑使用此版;
Project版固件使用Project-OpenWrt源码18.06-kernel5.4分支编译,源码现处于测试阶段稳定性介于以上两者之间。LuCI使用Lean版LuCI源码编译,LuCI体验与Lean版固件无异。无线网卡驱动支持性较好,固件内已内置大部分USB无线网卡驱动,无需另外安装,插件齐全(与Lean版源码相同),如果你有无线网卡需求,并且习惯使用LuCI18.06,可以考虑使用此版;

竞斗云
竞斗云固件默认支持IPV6
竞斗云分Lean版与Project两个版本,版本之间的区别同上文;
由于ROM大小限制,竞斗云固件内未集成kmodipk软件包,未集成USB有线/无线网卡及3G/4GUSB网卡驱动,若需要相关驱动请使用与固件一同提供的package-server安装;
竞斗云固件插件内置情况与树莓派基本相同,但未内置Docker及其相关组件(ROM大小以及设备性能限制);
Project版固件与Lean版固件不支持在LuCI中跨版本(指Project版与Lean版)通刷,如果有跨版本需求,需要在OpBoot中刷入ubi固件

x86_64
x86_64固件未添加IPV6支持
x86_64分Lean版与Project两个版本,版本之间的区别同上文;
x86_64所有版本固件内均已集成所有kmodipk软件包(kmodipk软件包路径:/www/snapshots),opkg软件源也做好了相应设置,无需进行任何额外设置即可使用opkg从本地直接获取kmod包。
x86_64固件插件内置情况与树莓派基本相同,固件内置大多数网络驱动、摄像头驱动、大多数USB有线/无线网卡驱动、3G/4GUSB网卡驱动;
x86_64固件同时提供Legacy启动与UEFI启动版本,另外额外提供VirtualBox、VmWare、KVM磁盘映像,导入相应虚拟机中即可使用,无需另外安装。

固件特性
LuCIAPP
下面小苏简单介绍一下固件包含的LuCIAPP:
(以下介绍以Lean版固件为例,因有些APP无法在Offical版OpenWrt上移植,所以Offical版固件数量较Lean版少。不过常用的APP在Offical版上都有~)

1.包含低调上网工具:
固件支持以下低调上网工具:①乳酸菌饮料 Plus+②Passwall③OpenClash
其中Offical版固件中的违禁软件Plus+由Lean版源码移植。
二者现已支持SS/乳酸菌饮料/v贰瑞/Trojan/Socks5协议,支持Kcptun,支持Netflix分流,支持链接/订阅导入节点,Socks5服务器,访问控制,故障节点自动切换。其中Passwall还额外支持Brook和v贰瑞Youtube分流。

2.支持广告屏蔽功能:
固件包含以下广告屏蔽工具:①AdGuardHome②广告屏蔽大师Plus+③KoolProxyRplus+
其中“广告屏蔽大师Plus+”仅可在树莓派1和树莓派2设备上使用,其他版本固件未包含此工具(源码层面不支持)。小苏推荐使用AdGuardHome;
注意:路由器层面的广告屏蔽效果并不好,若对广告十分敏感,建议使用浏览器插件级别的广告屏蔽插件。另外,广告屏蔽工具可能会严重影响网速。

3.支持解锁网易云灰色歌曲:包含Golang/Nodejs/云解锁三种方案。随缘解锁,有时需要运气和特定版本加持。

4.支持Docker容器:其中树莓派1和2仅支持arm架构的Docker镜像,树莓派3和4同时支持arm和aarch64(arm64)架构的镜像。拉取镜像前,请确认镜像有上述架构版本并使用相应架构标签拉取。

5.支持AirPlay2和PCHiFi数字转盘遥控功能,可以通过AirPlay特性推送音乐至树莓派播放和控制。

6.支持Samba/CIFSD/FTP/SFTP文件传输,支持挂载Samba/NFS文件系统至本地,支持Syncthing和VerySync同步,支持Rclone挂载网盘文件到本地。

7.支持文件助手/文件浏览器(Filemanager)/可道云(Kodexplorer),可在线管理OpenWrt内文件。

8.支持Aria2和Transmission下载工具,可下载http/https/BT种子/磁力链接至树莓派。

9.支持乳酸菌饮料服务器(libv/python),v贰瑞服务器,Brook服务器,Trojan服务器,p p t pvirtual**服务器,IPSecvirtual**服务器,Openvirtual**服务器,N2Nv2virtual**,ZeroTier,支持Openvirtual**客户端,p p t p/L2TP客户端,OpenConnect客户端。

10.支持DDNS(支持Dnspod和阿里云DDNS),SmartDNS,ARP绑定。

11.支持Frpc/NPS内网穿透,支持Frps服务端。

12.支持微信推送(Server酱),USB打印服务器,KMS服务器,网络唤醒,迅雷快鸟,天翼家庭云/云盘提速。

13.支持SQMQos,OAF应用过滤。

14.支持udpspeeder和udp2raw加速,支持FULLCONENAT加速,BBR加速。

15.支持多线多拨,负载均衡,MWAN3分流助手。篇幅所限,除上述LuCIAPP之外,固件还包含一些上文暂未列出的LuCIAPP,固件内软件包集成情况可以下载与固件一同提供的manifest文件查看,欢迎下载体验~

命令行工具
除上述LuCIAPP外,固件额外编译了许多命令行工具:
bsdtar bzip f2fs-tools f2fsck fdisk fstrim gotop gzip
lsblk lscpu nano resize2fs rsync rsyncd screen tmate
tmux tree vim unzip usbutils whereis zsh

3G/4G网卡支持
固件内按照OpenWrtGuide添加了3G/4GUSB网卡驱动,现固件默认已支持3G/UMTS,QMI,NCM,RNDIS协议的3G/4GUSB网卡,同时固件内集成了usb-modeswitch工具,可通过usbmode命令切换USB网卡至工作状态。详情请参考OpenWrtGuide:

初始设置
方式一
将固件刷入SD卡,断开树莓派上所有的网线连接,将SD卡插入树莓派通电开机,稍等30秒你将可以搜索到一个SSID为:OpenWrt的WIFI热点,连接此热点,在浏览器地址栏输入:
http://192.168.1.1
即可进入Luci控制面板。登陆控制面板时用户名默认为root,密码默认为password

方式二
将固件刷入SD卡,将SD卡插入树莓派通电开机,使用网线连接树莓派和电脑,当电脑提示有线网络已连接后,在浏览器输入:
http://192.168.1.1
来进入控制面板。登陆控制面板时用户名默认为root,密码默认为password

注意
1.首次开机时,请不要将树莓派直接通过网线与路由器或光猫相连。因为树莓派默认的Lan口IP192.168.1.1很可能会与路由器或光猫的IP冲突,导致输入地址后进入路由器或光猫的控制面板。2.当使用“方式二”首次连接树莓派时,无需在电脑上进行静态IP设置。

固件下载
请认真阅读本节内容!!本节包含如何提升固件下载体验的提示。

如果你在固件下载过程中遇到
固件下载速度慢/下载失败等问题时,请返回再次阅读一次本节说明!!
点击下表中“Github”或“FastGit”即可跳转到该设备固件下载页面。

其中,“FastGit”为https://fastgit.org/提供的Github镜像,访问Github困难的朋友可以试试看~
出于安全和隐私考虑,FastGit限制了Github登录操作,故FastGit仅做获取存放于WeTransfer和奶牛快传的固件下载链接之用,国内网络用户,为提高下载体验,可下载存放于这两个网站中的固件副本(详见下文位于表格下方的补充说明)。

支持设备/版本(内核)
Lean(4.x)
Offical(5.4)
Project(5.4)
树莓派1B
Github/FastGitGithub/FastGitGithub/FastGit
树莓派2B
Github/FastGitGithub/FastGitGithub/FastGit
树莓派3B/3B+
Github/FastGitGithub/FastGitGithub/FastGit
树莓派4B
Github/FastGitGithub/FastGitGithub/FastGit
竞斗云
Github/FastGit-
Github/FastGit
x86_64
Github/FastGit-
Github/FastGit

补充说明
1.在固件编译完成后,会上传一份副本到WeTransfer和奶牛快传,副本下载地址位于固件下载页面中固件文件列表下的Annotations提示框内(还是找不到?点击这里~)。在极少数情况下,因网络原因这两份副本可能会上传失败,如果遇到这种情况,就只能下载存放在GithubAction里的固件了:

2.由于GithubAction限制,需要登录Github账号才可下载存放于GithubAction中的固件(未登录时固件链接为灰色,不可被点击),但WeTransfer和奶牛快传的固件下载链接在未登录状态下可正常查看,不受影响;

3.如果需要下载存放于GithubAction上的固件,由于众所周知的原因,请尽量使用低调上网方式下载固件,固件下载完成后,请下载sha256sums文件或使用压缩软件的"测试压缩文件"功能来验证固件的完整性;

4.文件下载时默认被zip压缩,若有需要,请解压zip得到固件后再刷入;

5.固件下载页面标注固件大小为解压zip文件后的大小,并非文件下载真实大小。例如,某文件在GithubAction上标明的文件大小为1.01G,但在下载过程中可能只会下载不到300M的一个zip压缩文件,解压后得到的文件大小才为标注的1.01G;

6.固件在每天凌晨02:00拉取OpenWrt源码和第三方软件包项目自动编译,默认情况下固件每日编译一次(config文件更新时除外),未逐一经过实机测试,故不保证100%可靠性

7.除提供已编译好的固件外,本项目还提供以下文件:

1.完整性校验文件:sha256sums
2.OpenWrt编译配置:config.seed/config.buildinfo
3.固件内已集成的软件包列表penwrt-$target-$subtarget-$devices.manifest
4.适用于Windows/集成web服务器的ipk软件包归档(便于搭建局域网软件包服务器):packages-server.zip

在WeTransfer和奶牛快传链接中,还提供以下文件:
1.OpenWrtImageBuilder2.OpenWrtSDK3.OpenWrtToolChain以上文件可按需下载。

安装和升级
固件格式区别
固件文件名中带有factory字样的文件为安装固件,固件文件名中带有sysupgrade字样的文件为升级固件。固件文件名中带有ext4字样的文件为搭载ext4文件系统固件,ext4格式的固件更适合熟悉Linux系统的用户使用,可以比较方便地调整ext4分区的大小;
固件文件名中带有squashfs字样的文件为搭载squashfs文件系统固件,而squashfs格式的固件适用于“不折腾”的用户,其优点是可以比较方便地进行系统还原(控制面板-系统-备份/升级),哪怕你一不小心玩坏固件,只要还能进入控制面板,就可以很方便地进行“系统还原操作”。以下安装和升级步骤仅适用于树莓派,竞斗云或x86_64设备请按各自原有步骤进行安装/升级操作。

安装
下载固件文件名中带有factory字样的文件到本地,解压即可得到factory格式的img镜像文件。其中,文件名中带有ext4字样的为ext4固件,文件名中带有squashfs字样的为squashfs格式固件,为了避免一些玄学问题,小苏强烈推荐大家按以下步骤操作:1.将SD卡插入电脑,使用DiskGenius或者PartitionGuru或类似的磁盘管理工具删除SD卡中的所有分区;2.在SD卡中新建一个Fat32分区,保存更改并格式化。此时SD卡便还原为出厂状态;3.使用Win32DiskImager或者Etcher将img固件写入SD卡。如果不按以上步骤操作,很可能在刷入固件后出现无法保存配置,LuCI崩溃的情况。

升级
目前因为一些未知原因,树莓派暂不支持在LuCI中上传sysuphrade固件进行升级操作,期待上游源码后续修复。

点评

再次编译的时候能不能加上支持IPV6?谢谢了  发表于 2019-3-4 22:42

评分

参与人数 7恩山币 +7 收起 理由
liyvhg + 1 恩山全体路由党向你学习!
linuxunion + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
天行健@ccf + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
qqq0321 + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
become + 1 强大的恩山!(以下重复1万次)
didiaoing + 1 能否加入wireguard的支持,opkg安装的时候提示内核版本问题
xddcc + 1 太赞了!!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-1-13 22:14 | 显示全部楼层
可否帮忙编译一个X64全家桶?

点评

等一两天我有时间试一试~  详情 回复 发表于 2019-1-14 00:09
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-1-14 00:09 | 显示全部楼层
假好人。 发表于 2019-1-13 22:14
可否帮忙编译一个X64全家桶?

等一两天我有时间试一试~

点评

再次编译的时候能不能加上支持IPV6?谢谢了  详情 回复 发表于 2019-3-4 22:41
我也很期待64的哟,哈哈  详情 回复 发表于 2019-2-20 10:00
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-1-21 22:30 来自手机 | 显示全部楼层
好像没有多少人关注的样子,自顶一下~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-1-22 18:06 | 显示全部楼层
博客不错啊
小白刚尝试了几次编译,来讨教一下:
1. Lean大的package里面,有没有迅雷离线下载的?
2. NFS共享的,有没有LUCI界面支持的?我看到网络共享这个页面底下,好像只有samba

点评

没有迅雷的离线下载功能,另外迅雷的离线下载服务好像已经不对非迅雷的硬件设备提供服务了,不过在编译的时候可以选 aira2 之类的原生下载工具。网络共享只支持 Samba,是不是支持 NFS 我也不太清楚。  发表于 2019-1-22 18:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-1-22 18:07 | 显示全部楼层
另外,你的固件,主题挺简洁好看的,是lean git里面自带的吗?

点评

他源码里面带一个 Material 主题,编译的时候是个可选项,如果选上它的话编译完成之后默认就是 Material 主题。  详情 回复 发表于 2019-1-22 18:31
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-1-22 18:31 | 显示全部楼层
breakersun 发表于 2019-1-22 18:07
另外,你的固件,主题挺简洁好看的,是lean git里面自带的吗?

他源码里面带一个 Material 主题,编译的时候是个可选项,如果选上它的话编译完成之后默认就是 Material 主题。

点评

感谢回复。 下次我也试试material主题。 下载工具,aria2和transmission满足基本需求了。 原来找迅雷,是想迅雷可以傻瓜化一点,配好了给老人用。  详情 回复 发表于 2019-1-23 07:41
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-1-23 07:41 | 显示全部楼层
1215009714 发表于 2019-1-22 18:31
他源码里面带一个 Material 主题,编译的时候是个可选项,如果选上它的话编译完成之后默认就是 Material  ...

感谢回复。
下次我也试试material主题。
下载工具,aria2和transmission满足基本需求了。
原来找迅雷,是想迅雷可以傻瓜化一点,配好了给老人用。

点评

aira2 的话有 WebUI 可以用,并且安卓系统的话也有 aira2 管理客户端(基于 rpc),还可以在树莓派上装一个 filemanager 启动后直接列出 aira2 的下载目录,这样子更直观一些。  详情 回复 发表于 2019-1-23 22:38
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-1-23 11:43 | 显示全部楼层
请问有支持 极路由3 的openwrt吗

点评

你可以在论坛里面搜索一下找找...我手头没有这个设备所以也不好编译...  详情 回复 发表于 2019-1-23 22:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-1-23 22:34 来自手机 | 显示全部楼层
Johnson.Yiu 发表于 2019-1-23 11:43
请问有支持 极路由3 的openwrt吗

你可以在论坛里面搜索一下找找...我手头没有这个设备所以也不好编译...

点评

当初在 Ubuntu 上编译的,现在我把 Ubuntu 分区格掉了...  详情 回复 发表于 2019-2-1 07:19
有编译的教程帖子吗,我也想学习一下,自己编译  详情 回复 发表于 2019-1-23 23:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-1-23 22:38 来自手机 | 显示全部楼层
breakersun 发表于 2019-1-23 07:41
感谢回复。
下次我也试试material主题。
下载工具,aria2和transmission满足基本需求了。

aira2 的话有 WebUI 可以用,并且安卓系统的话也有 aira2 管理客户端(基于 rpc),还可以在树莓派上装一个 filemanager 启动后直接列出 aira2 的下载目录,这样子更直观一些。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-1-23 23:30 | 显示全部楼层
1215009714 发表于 2019-1-23 22:34
你可以在论坛里面搜索一下找找...我手头没有这个设备所以也不好编译...

有编译的教程帖子吗,我也想学习一下,自己编译
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-1-28 20:05 | 显示全部楼层
本帖最后由 hzjnet@163.com 于 2019-1-28 20:16 编辑

我尝试编译后不管/rom是9M还是25M+的都不能在修改IP后保存配置  能把您的配置文件给我吗?最好还有应用的ipk都打包,不然需要啥都不能安装。 谢谢  
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-2-1 07:19 来自手机 | 显示全部楼层
1215009714 发表于 2019-1-23 22:34
你可以在论坛里面搜索一下找找...我手头没有这个设备所以也不好编译...

当初在 Ubuntu 上编译的,现在我把 Ubuntu 分区格掉了...
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-2-13 00:14 | 显示全部楼层
全家桶简直666!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-23 15:25

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表