发现你身边的“优质应用”

0%

自编译 OpenWrt 固件,支持 Raspberry Pi 2B/3B/3B+/4B

文章更新

20190107 初次成文(第一版)

20190305 更新固件 更新和优化了树状功能图(文章底部) 并做一些补充说明

20190306 加入 IPV6 支持(实验性)(第二版)

20190317 正式支持 IPV6 并添加 IPV6 使用说明,增加64位固件,并做固件升级说明(第三版)

20190321 修复重启后板载网卡不工作的问题,增加了若干功能(第四版)

20190416 暂停 64 位固件更新,日常跟进更新并再做一些补充说明(第五版)

20190521 日常跟进更新(第六版)

20190620 日常跟进更新(第七版)

20191007 日常跟进更新(第八版)

20191117 日常跟进更新(第九版)

20200105 日常跟进跟新(第十版)

写在前面

OpenWrt 是适合于嵌入式设备的一个 Linux 发行版,小苏为大家带来的是自己编译的 OpenWrt 固件~

固件仅支持树莓派 2B/3B/3B+/4B 。不支持上述树莓派型号以外的其他设备;

编译 OpenWrt 采用的源码来自 Openwrt 官方项目:

https://github.com/openwrt/openwrt

固件内部分软件包来自 Lean 大的 Openwrt 项目:

https://github.com/coolsnowwolf/lede

同时,固件内引用了 Lienol 大的 Feed:

https://github.com/Lienol/openwrt-package

在此特别感谢 OpenWrt 项目、感谢 Lean 大、Lienol 大以及所有为 OpenWrt 项目作出贡献的朋友们!

固件更新日志

第十版固件更新日志

固件版本更新: R9.10.1 -> R9.11.9 ;

Linux 内核更新: 4.14.146 -> 4.19.93;

从此版固件开始,固件所用源码将切换至官方 OpenWrt 源码进行编译,同时,以后的固件将不会区分 4B 专用/非专用版本与 IPV4 Only / IPV4 & IPV6 版本,今后的固件将同时支持树莓派 2/3/4 并且同时支持 IPV6。

也就是说,今后一个固件通吃所有需求。

新增第三方软件包:微信推送koolproxyROnliner (在线用户)、Dockerman (Docker 管理工具)、AdguardHomeOpenClash酸酸乳魔改版

新增由 Lienol 大 Feed 提供的软件包:科学上网、Trojan 服务器、Brook 服务器、IPSec VPN 服务器、PPPoE 服务器、文件助手、文件浏览器(FileBrowser)、Syncthing ;

同时,虽然切换至官方源码编译,但此版固件仍然加入了 Lean 大 OpenWrt 源码中的大部分软件包:adbyby 广告屏蔽、automount、BaiduPCS-Web、动态 Dnspod、天翼家庭云 / 云盘提速、可道云、N2N v2 VPN、实时监控、Nps 内网穿透、解锁网易云灰色歌曲、微力同步、ZeroTier、FTP服务器;

加入了 USB 有线网卡的支持;暂定固件内将不会考虑添加对 USB 无线网卡的支持 (由于驱动冲突的原因);

固件 Root 分区调整为 1000M;

由于编译源码发生变动,所以此次更新不提供 sysupgrade 固件。

补充说明(重要):

由于固件更新版本次数较多,造成文章可读性较差,故删除了第十版固件之前的更新日志,如无特殊需求,最好使用最新版固件~

固件默认支持板载网卡和 USB 有线网卡,如果你想使用 USB 无线网卡,请将 opkg 软件源修改为小苏的自建软件源,之后通过控制面板或终端安装适配的 USB 无线网卡驱动;

但据大家的反馈来看,OpenWrt 对 USB 无线网卡的支持并不好。很有可能出现驱动安装完成但 USB 无线网卡仍然无法被识别的情况。成功安装无线网卡驱动后,可以在“网络 - 接口 - 添加新接口”界面添加新的外置网卡。

如果你只是想使用 OpenWrt 的功能,没有使用树莓派进行宽带拨号和发射无线的需求的话,小苏强烈推荐在 Docker 中运行 OpenWrt 并将树莓派作为旁路由使用。采用这种方式,树莓派可结合现有路由器协同工作,即可实现 OpenWrt 的大多数功能,又可享受路由器的高质量无线性能,同时可充分利用树莓派的硬件性能。可参考这篇文章:

https://mlapp.cn/376.html

由于工作繁忙,很多时候不能及时回复评论,可以加入博客的 QQ 群:397251040 以便第一时间得到回复以及获得最新信息~

固件介绍

固件自带 Luci 控制面板支持,控制面板地址默认为:http://192.168.1.1 ;

控制面板默认账号为 root,初始密码为 password

固件支持 SSH 与 SFTP 功能。登录账号/密码同 Luci 控制面板账号/密码;

固件支持 automount 特性,即外部可存储设备插入 USB 接口时,若文件系统支持,可以自动挂载设备;

固件原生支持 exfat, ext4, f2fs, fat32, ntfs, squashfs, fuse 等文件系统。

固件自带的额外命令行工具有:bzip, fdisk, gzip, htop, lsblk, nano, resize2fs, rsync, tmux, unzip, vim, whereis, zip;

为了满足使用者的各种需求,小苏为大家提供了两种格式的固件:ext4 格式和 squashfs 格式。这两种固件的区别是,ext4 格式的固件更适合熟悉 Linux 系统的用户使用,可以比较方便地调整 ext4 分区的大小;而 squashfs 格式的固件适用于 “不折腾” 的用户,其优点是可以比较方便地进行系统还原(控制面板 - 系统 - 备份 / 升级),哪怕你一不小心玩坏固件,只要还能进入控制面板,就可以很方便地进行 “系统还原操作”。

固件为 ext4 或 squashfs 根分区留出了 1000M 的空间,如果 1000M 的根分区空间还是无法满足需求,你也可以选用 ext4 格式的固件刷入 SD卡,然后将 SD 卡与 PC 连接,使用 DiskGenius (Windows) / Gparted (Linux) 等图形化工具来扩展根分区,或者根据需要将 SD 卡剩余空间新建一个新分区。

(如果你有扩展根分区的需求,请选择 ext4 固件)

如果你对 Linux 命令行足够熟悉,也可以使用 fdisk、e2fsck 和 resize2fs 命令在 Linux 的命令行下扩展根分区 (具体方法请 Google~);

如果你想从我编译的旧版固件升级到新版固件,可以直接在 Luci 控制面板中刷入 sysupgrade 格式固件,此操作可仅升级系统分区 (需打钩 “保留配置” ),用户数据不受影响 (点此跳转详情)。

初始设置

刷入固件通电开机后,稍等 30秒 你将可以搜索到一个 SSID 为: OpenWrt 的 WIFI 热点,连接此热点,在浏览器地址栏输入:

http://192.168.1.1

即可进入 Luci 控制面板。同时你也可以选择用网线连接树莓派和电脑,在浏览器输入相同的地址来进入控制面板。登陆控制面板时用户名默认为 root,密码默认为 password

WEB 管理页面

网口设置

刷入固件后树莓派的网口默认为 Lan 口,如果你有拨号需求或者需要将树莓派设置为子路由的话,需要将树莓派的网口改为 Wan 口,配置方法如下:

以下内容每做完一步后必须点击“保存”而不是“保存&应用”,做完全部步骤之后才可点击右上角的 “未保存的配置”应用所有修改,否则可能会造成在设置过程中无法连接到树莓派的情况发生。

进入“网络 - 接口”,点击“添加新接口”:

添加新接口

在“新接口的名称” 中填入 wan(小写),“新接口的协议”依据具体情况而定,如果要将树莓派的作拨号用,则选择PPPOE,如果想要用网线与上一设备 (如路由器) 的 Lan 口相连的话则选择 DHCP客户端,在接口选项中,选择以太网适配器 "eth0",选择完成后,点击右下角的“提交”。

配置新接口

之后在 Lan 接口的 “物理设置”中修改取消勾选eth0,点击下方的**“保存”**而不是“保存&应用”

取消 Lan 口绑定的 eth0 接口

最后点击右上角的 **“未保存的配置”**应用所有修改即可。

值得一提的是,如果你是使用网线方式连接电脑和树莓派的话,当你把树莓派的网口改为 Wan 口后,你将无法通过浏览器进入 Luci 控制面板,但是使用无线方式连接到树莓派还是可以正常进入控制面板的,所以当你发现电脑无法进入控制面板后,不要惊慌,拔掉网线连接树莓派的无线热点即可正常进入控制面板~

Lan 口参数修改

在无线环境下可能无法在控制面板修改 Lan 口参数,可尝试使用有线网络连接树莓派在控制面板中修改,或者使用终端方式编辑 /etc/config/network 文件:

vim /etc/config/network

将: option ipaddr '192.168.1.1' 中的 192.168.1.1 改为你想修改的 Lan 口 IP,之后重启 OpenWrt ,使用刚刚修改好的 Lan 口 IP 地址访问控制面板后即可在控制面板中修改 Lan 口其他参数~

USB 外置有线/无线网卡驱动安装

由于驱动冲突导致无法开机的原因,第八版固件开始,固件默认不集成除板载有线和无线网卡之外的网卡驱动,也就是说,刷入固件后在未做相关设置的情况下,USB 外置网卡应该是不可用的。

为了方便大家安装外置 USB 无线网卡驱动,从第九版固件开始,小苏自建了软件源来解决网卡驱动安装的问题。

如果你不需要安装外置无线网卡,则不需要另外配置软件源。

各版本的软件源地址你可以在这里找到:

https://openwrt.design/snapshots/README.md

登陆控制面板,在“系统 - 软件包 - 配置 - 发行版软件源”中注释所有行,并粘贴相应版本的软件源:

image-20191117195922143

之后你可以在控制面板中更新软件列表缓存,或者在终端中使用 opkg update 更新软件包缓存。更新完软件包缓存后,在 “过滤器” 中输入你想要安装的软件包,在“可用软件包”项目中,寻找你想要安装的网卡驱动包并点击安装。

image-20191117200957521

使用此方法安装软件包时,软件包在安装过程中会自动解决依赖关系。

在小苏的软件源中,只包含了已集成在固件中的包和 USB 有线/无线网卡驱动包,所以很多软件包找不到是正常的…

如何寻找无线网卡对应的驱动包?

Google 搜索 “无线网卡芯片名称 + OpenWrt”,以 AX88772 网卡为例:

image-20191117201420504

则 AX88772 芯片所对应的无线网卡驱动为 kmod-usb-net-asix

功能展示

看到这里,你可能会说:小苏你自卖自夸了这么长时间,这个固件究竟有哪些功能呢?别着急,有图有真相:

控制面板首页

控制面板首页

软件包控制面板

软件包控制面板

ShadowSocksR Plus+

ShadowSocksR Plus+ (同时支持 V2Ray 和 SS)

Adbyby Plus+

Adbyby Plus+ 去广告程序

Frpc 内网穿透客户端

Frpc 内网穿透客户端

MentoHUST(锐捷校园网拨号客户端)

MentoHUST

LXC 容器

LXC 容器

Aria2

Aria2 配置

Aria2 Web-UI

Aria2 Web-UI

Samba

Samba 4.0

Transmission

Transmission

Transmission Web 界面

Transmission Web Interface

SSR Python 服务器

SSR Python 服务器

Turbo ACC 网络加速

Turbo ACC 网络加速(支持 BBR 加速)

多线多拨

多线多拨

负载均衡

负载均衡

统计图表

统计图表

固件功能列表

OpenWrt
├── 状态
│├── 概况
│├── 防火墙
│├── 路由表
│├── 系统日志
│├── 内核日志
│├── 进程
│├── 实时信息
│├── VNStat 流量监控
│├── WireGuard 状态
│├── 负载均衡
│└── 释放内存
├── 系统
│├── 系统
│├── Web 管理
│├── 管理权
│├── 软件包
│├── TTYD 终端
│├── 启动项
│├── 计划任务
│├── 时间同步
│├── 挂载点
│├── LED 配置
│├── 备份/升级
│├── 自定义命令
│├── 定时重启
│├── 文件传输
│├── 双分区启动切换
│└── 重启
├── 服务
│├── MentoHUST
│├── ShadowSocksR Plus+
│├── 广告屏蔽大师 Plus+
│├── Adblock
│├── 上网时间控制
│├── 动态 DNS
│├── WiFi 计划
│├── LXC Containers
│├── WatchCat
│├── 网络唤醒
│├── Tinyproxy
│├── UPnP
│├── Frp 内网穿透
│├── KMS 服务器
│├── HAProxy
│├── Shairplay
│├── 迅雷快鸟
│└── MWAN3 分流助手 (IPV4+IPV6 固件不可用)
├── 网络存储
│├── 可道云
│├── USB打印服务器
│├── 硬盘休眠
│├── 网络共享
│├── aMule 设置
│├── Aria2 配置
│├── miniDLNA
│├── MJPG-streamer
│├── Transmission
│└── FTP服务器
├── VPN
│├── SSR Python 服务器
│├── N2N v2 VPN
│├── OpenVPN 服务器
│├── PPTP VPN 服务器
│└── ZeroTier
├── 网络
│├── 接口
│├── 无线
│├── 访客网络
│├── DHCP/DNS
│├── 主机名
│├── IP/MAC 绑定
│├── 静态路由
│├── 防火墙
│├── 诊断
│├── SQM QoS
│├── 动态 DNSPOD
│├── Turbo ACC 网络加速
│├── 多线多拨 (IPV4+IPV6 固件不可用)
│└── 负载均衡 (IPV4+IPV6 固件不可用)
├── 带宽监控
│├── 显示
│├── 配置
│├── 备份
│└── 实时流量监测
└── 统计
├── 图表
└── 设置

安装和升级

安装

带有 factory 字样的文件为安装固件,下载固件到本地并解压即可得到 factory 格式的 img 镜像文件。其中,文件名中带有 ext4 字样的为 ext4 固件,文件名中带有 squashfs 字样的为 squashfs 格式固件,即使固件格式不同,但是它们刷入 SD卡 的方法是一样的,在 Windows 下你可以使用 Win32 Disk Imager或者 Etcher 将 img 固件写入 SD卡,在 Linux 下你可以使用 dd命令写入。

升级

带有 sysupgrade 字样的文件为升级固件,下载固件到本地并解压即可得到 sysupgrade 格式的 img 镜像文件,如果你想从我编译的旧版固件升级到新版固件,可以直接在 Luci 控制面板中刷入 sysupgrade 格式的 img 镜像固件 (可免去在电脑端刷写固件的麻烦),此操作只会升级系统分区,如果打钩“保留配置”,那么用户数据将不受影响。

如果卡中的固件不是我编译的 OpenWrt 固件 ,包括但不限于其他发行版固件 (如 Raspbian,Arch Linux Arm 等) 或其他人编译的 OpenWrt 固件,都需要刷入带有 factory 字样的固件

固件升级

固件下载

OneDrive:

链接: 点击此处下载

百度网盘:

链接: https://pan.baidu.com/s/1DqhSb9WtYpPnBterziObTA

密码: vemw

软件源站 :

链接: https://openwrt.design

(软件源站包含 R9.11.9 后各版本 IPK 软件包以及固件文件)

参考资料

OpenWrt By Lean · coolsnowwolf/lede - GitHub:

https://github.com/coolsnowwolf/lede

不显示S-SR-plus · Issue #881 · coolsnowwolf/lede - GitHub:

https://github.com/coolsnowwolf/lede/issues/881#issuecomment-444450163

树莓派 3(Raspberry Pi 3)安装 Openwrt + shadowsocks + ChinaDNS - 简单

http://www.wzero.net/?p=137

树莓派 3 做路由并负载 SSR - 瓜地

https://ljkgpxs.xyz/2018/01/24/raspberry3b-router-run-shadowsocksr/

Resize the root partition - Banoffee Pi Server:

http://banoffeepiserver.com/resize-the-root-file-system-partition.html