前言:
Entware 是一个适用于嵌入式设备的软件包管理器,可以让你方便地安装各种软件,例如 nano、htop、aria2 等,扩展路由器的功能。
重要提示:
- 刷机有风险,请务必备份路由器固件! 如果操作不当,可能会导致路由器变砖。 强烈建议在进行任何操作之前备份当前的路由器固件。
- 小米官方固件默认不支持 Entware,刷入需要解锁SSH 本教程以假设你已经解锁了 SSH 。
- 不同固件版本可能会有差异,请根据你的实际情况进行调整。 仔细阅读你的固件文档,并根据实际情况进行修改。
- 本教程使用外接存储设备(U 盘或移动硬盘)来存储 Entware 软件包。 建议使用 USB 3.0 的存储设备以获得更好的性能。
准备工作:
- 小米万兆路由器: 已经解锁 SSH 。
- 外接存储设备: U 盘或移动硬盘,建议 100GB 左右,格式化为 ext4 格式。 确保你的存储设备有足够的空间。
- SSH 客户端: 例如 PuTTY (Windows) 或 Terminal (macOS/Linux)。
- 稳定的网络连接: 安装过程需要下载软件包,需要稳定的网络连接。
步骤:
启用 SSH:
- 解锁方法自行搜索。
连接到路由器 SSH:
- 使用 SSH 客户端软件。
- 输入路由器的 IP 地址、端口 (默认是 22),用户名 (通常是
root) 和密码 (你在第一步设置的密码)。 - 连接成功后,你会看到一个命令行界面。
确定架构:
在 SSH 命令行中输入以下命令,查看路由器的 CPU 架构:
1
uname -m
常见的架构有
armv7l,aarch64(arm64) 等。 请记住这个架构,稍后会用到。 不同的架构需要使用不同的 Entware 安装包。
挂载存储设备:
将存储设备插入路由器的 USB 接口。
使用以下命令查看存储设备是否被识别:
1
df -h
找到你的存储设备,例如
/dev/sda1或/dev/sdb1。 请注意,设备的名称可能会不同,请根据你的实际情况选择。 仔细检查设备名称,避免错误操作。创建一个
myentware文件夹,并在其下创建opt目录:1
mkdir -p /mnt/你的存储设备路径/myentware/opt
请将
你的存储设备路径替换为你的实际路径。 例如/mnt/usb-25a3499d。将路由器原有的
/opt目录的内容复制到外接存储设备上的/opt目录:1
cp -r /opt/* /mnt/你的存储设备路径/myentware/opt
请将
你的存储设备路径替换为你的实际路径。 例如/mnt/usb-25a3499d。 这一步是为了保留路由器原有的/opt目录,避免出现问题。
挂载存储设备 (续):
使用
mount -o bind命令将外接存储设备上的/opt目录挂载到路由器原有的/opt目录上:1
mount -o bind /mnt/你的存储设备路径/myentware/opt /opt
请将
你的存储设备路径替换为你的实际路径。 例如/mnt/usb-25a3499d。 这一步是将 Entware 的安装目录指向你的外接存储设备。
安装 Entware:
运行以下命令下载并执行 Entware 安装脚本:
1
curl http://bin.entware.net/aarch64-k3.10/installer/alternative.sh | sh
请根据你的 CPU 架构选择正确的安装脚本。 如果你的架构不是
aarch64-k3.10,请将 URL 替换为正确的 URL。 你可以在 Entware 官方网站 找到不同架构的安装脚本。 仔细阅读安装脚本的输出信息,确保没有错误发生。
配置 Entware 环境:
编辑
/etc/profile文件,添加以下内容:1
2export PATH="/opt/bin:/opt/sbin:$PATH"
alias opkg="/opt/bin/opkg"保存文件并退出。 可以使用
nano或vi编辑器。使环境变量和别名生效:
1
source /etc/profile
这一步是为了让当前的 SSH 会话使用新的环境变量和别名。
创建开机自启脚本:
创建
/data/myscripts/auto_start.sh文件,添加以下内容:1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 挂载 /opt 目录
mount -o bind /mnt/你的存储设备路径/myentware/opt /opt
# 设置环境变量和别名
export PATH="/opt/bin:/opt/sbin:$PATH"
alias opkg="/opt/bin/opkg"
# 启动 Entware 服务
sleep 10
/opt/etc/init.d/rc.unslung start
exit 0请将
你的存储设备路径替换为你的实际路径。 例如/mnt/usb-25a3499d。sleep 10命令是为了等待存储设备挂载完成,避免启动 Entware 服务时出错。设置
/data/myscripts/auto_start.sh文件的执行权限:1
chmod +x /data/myscripts/auto_start.sh
配置防火墙自启脚本:
编辑
/data/etc/config/firewall文件,添加以下内容:1
2
3
4config include 'myscripts_auto_start'
option type 'script'
option path '/data/myscripts/auto_start.sh'
option enabled '1'这一步是为了让路由器在启动时自动执行
/data/myscripts/auto_start.sh脚本。
重启防火墙服务:
1
service firewall restart
这一步是为了让防火墙加载新的配置。
重启路由器:
1
reboot
重启路由器,使所有配置生效。
验证 Entware 是否安装成功:
重启路由器后,重新连接 SSH。
运行以下命令,查看 Entware 的服务是否正在运行:
1
/opt/etc/init.d/rc.unslung status
如果 Entware 正在运行,你应该会看到一些服务的状态信息。
运行以下命令,检查环境变量是否正确设置:
1
echo $PATH
输出应该包含
/opt/bin和/opt/sbin。运行以下命令,更新软件包列表并安装
nano编辑器:1
2opkg update
opkg install nano如果更新和安装成功,没有报错信息,则说明 Entware 已经可以正常工作。
运行以下命令,测试
nano编辑器是否能够正常启动:1
nano /tmp/test.txt
如果
nano编辑器能够正常启动,则说明 Entware 已经成功安装。
如果以上步骤都能够正常完成,那么恭喜你,你已经成功在小米万兆路由器上安装了 Entware!
常见问题及解决方法:
- 无法连接到路由器 SSH: 检查 SSH 服务是否已启用,以及 IP 地址、端口、用户名和密码是否正确。
- 存储设备无法挂载: 检查存储设备是否被路由器识别,以及挂载点是否正确。 使用
dmesg命令查看系统日志,可能会有关于存储设备挂载失败的信息。 - 安装脚本下载失败: 检查网络连接是否正常,以及安装脚本的 URL 是否正确。 尝试使用
ping命令测试网络连接。 opkg命令无法使用: 检查环境变量是否已正确设置。 确保/opt/bin和/opt/sbin已经添加到了PATH环境变量中。- 路由器重启后 Entware 无法工作: 检查开机自启脚本是否已正确配置,以确保存储设备在启动时自动挂载,并且 Entware 服务能够正常启动。 查看系统日志,可能会有关于启动失败的信息。
opkg update失败: 检查系统时间是否正确。 错误的系统时间会导致 SSL 证书验证失败。 尝试手动设置时间,或者安装ntpd软件包来自动同步时间。
总结:
本教程提供了在小米万兆路由器上安装 Entware 的详细步骤。 请务必仔细阅读以上步骤,并根据你的实际情况进行调整。 如果你遇到问题,可以查阅 Entware 官方文档或在网上搜索相关的解决方案。
再次提醒:刷机有风险,请务必备份路由器固件!