记录一下在小米万兆路由器上安装 Entware
2025-03-29 15:53:53

前言:

Entware 是一个适用于嵌入式设备的软件包管理器,可以让你方便地安装各种软件,例如 nanohtoparia2 等,扩展路由器的功能。

重要提示:

  • 刷机有风险,请务必备份路由器固件! 如果操作不当,可能会导致路由器变砖。 强烈建议在进行任何操作之前备份当前的路由器固件。
  • 小米官方固件默认不支持 Entware,刷入需要解锁SSH 本教程以假设你已经解锁了 SSH 。
  • 不同固件版本可能会有差异,请根据你的实际情况进行调整。 仔细阅读你的固件文档,并根据实际情况进行修改。
  • 本教程使用外接存储设备(U 盘或移动硬盘)来存储 Entware 软件包。 建议使用 USB 3.0 的存储设备以获得更好的性能。

准备工作:

  1. 小米万兆路由器: 已经解锁 SSH 。
  2. 外接存储设备: U 盘或移动硬盘,建议 100GB 左右,格式化为 ext4 格式。 确保你的存储设备有足够的空间。
  3. SSH 客户端: 例如 PuTTY (Windows) 或 Terminal (macOS/Linux)。
  4. 稳定的网络连接: 安装过程需要下载软件包,需要稳定的网络连接。

步骤:

  1. 启用 SSH:

    • 解锁方法自行搜索。
  2. 连接到路由器 SSH:

    • 使用 SSH 客户端软件。
    • 输入路由器的 IP 地址、端口 (默认是 22),用户名 (通常是 root) 和密码 (你在第一步设置的密码)。
    • 连接成功后,你会看到一个命令行界面。
  3. 确定架构:

    • 在 SSH 命令行中输入以下命令,查看路由器的 CPU 架构:

      1
      uname -m
    • 常见的架构有 armv7l, aarch64 (arm64) 等。 请记住这个架构,稍后会用到。 不同的架构需要使用不同的 Entware 安装包。

  4. 挂载存储设备:

    • 将存储设备插入路由器的 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 目录,避免出现问题。

  5. 挂载存储设备 (续):

    • 使用 mount -o bind 命令将外接存储设备上的 /opt 目录挂载到路由器原有的 /opt 目录上:

      1
      mount -o bind /mnt/你的存储设备路径/myentware/opt /opt

      请将 你的存储设备路径 替换为你的实际路径。 例如 /mnt/usb-25a3499d。 这一步是将 Entware 的安装目录指向你的外接存储设备。

  6. 安装 Entware:

    • 运行以下命令下载并执行 Entware 安装脚本:

      1
      curl http://bin.entware.net/aarch64-k3.10/installer/alternative.sh | sh

      请根据你的 CPU 架构选择正确的安装脚本。 如果你的架构不是 aarch64-k3.10,请将 URL 替换为正确的 URL。 你可以在 Entware 官方网站 找到不同架构的安装脚本。 仔细阅读安装脚本的输出信息,确保没有错误发生。

  7. 配置 Entware 环境:

    • 编辑 /etc/profile 文件,添加以下内容:

      1
      2
      export PATH="/opt/bin:/opt/sbin:$PATH"
      alias opkg="/opt/bin/opkg"
    • 保存文件并退出。 可以使用 nanovi 编辑器。

    • 使环境变量和别名生效:

      1
      source /etc/profile

      这一步是为了让当前的 SSH 会话使用新的环境变量和别名。

  8. 创建开机自启脚本:

    • 创建 /data/myscripts/auto_start.sh 文件,添加以下内容:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      #!/bin/sh

      # 挂载 /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-25a3499dsleep 10 命令是为了等待存储设备挂载完成,避免启动 Entware 服务时出错。

    • 设置 /data/myscripts/auto_start.sh 文件的执行权限:

      1
      chmod +x /data/myscripts/auto_start.sh
  9. 配置防火墙自启脚本:

    • 编辑 /data/etc/config/firewall 文件,添加以下内容:

      1
      2
      3
      4
      config include 'myscripts_auto_start'
      option type 'script'
      option path '/data/myscripts/auto_start.sh'
      option enabled '1'

      这一步是为了让路由器在启动时自动执行 /data/myscripts/auto_start.sh 脚本。

  10. 重启防火墙服务:

    1
    service firewall restart

    这一步是为了让防火墙加载新的配置。

  11. 重启路由器:

    1
    reboot

    重启路由器,使所有配置生效。

  12. 验证 Entware 是否安装成功:

    • 重启路由器后,重新连接 SSH。

    • 运行以下命令,查看 Entware 的服务是否正在运行:

      1
      /opt/etc/init.d/rc.unslung status

      如果 Entware 正在运行,你应该会看到一些服务的状态信息。

    • 运行以下命令,检查环境变量是否正确设置:

      1
      echo $PATH

      输出应该包含 /opt/bin/opt/sbin

    • 运行以下命令,更新软件包列表并安装 nano 编辑器:

      1
      2
      opkg 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 官方文档或在网上搜索相关的解决方案。

再次提醒:刷机有风险,请务必备份路由器固件!