Table of Contents

安装 OpenWrt

OpenWrt 的安装因设备而定。 这些针对特定设备的安装步骤应在 wiki 中查找。在 硬件表格 获取可用的安装步骤。 如果您的设备未列出,本文档中的信息可能会有所帮助。

本部分所述操作可能导致设备或固件损坏,请谨慎执行!

:!: 如果您尝试安装 OpenWrt 失败,请查看 generic.debrick 以寻求解决方法。

:!: 这份 HOWTO 指南非常通用。 在大多数情况下您不能直接使用它,因为您必须根据特定硬件调整参数和其他部分。 请查看 已支持的硬件页面 以获取针对特定设备的文档。

在大多数情况下,您有三种选择:

四种安装方法

有四种方法可以在设备上安装 OpenWrt:

方法 1: 通过 OEM 固件

用浏览器打开 OEM firmware 的管理界面并使用 “Firmware Upgrade” 选项安装 OpenWrt factory 固件。设备应会重启并安装 OpenWrt。

注意: 有时 OEM 固件只允许您刷写特定的固件文件。如果是这种情况,您将无法使用此方法安装 OpenWrt。但是,对于某些设备,构建机器人会准备带标签的构建版本,使其符合制造商的固件要求。这应在您设备型号的特定页面中有所记载。

方法 2: 通过引导加载程序(Bootloader)和以太网端口

大多数(即使不是全部) bootloaders 都内置此功能。 有些使用 TFTP-客户端, 有些使用 TFTP-服务端, 有些使用 FTP-客户端, 有些使用 FTP-服务端, 有些使用 Web 服务器,还有些使用 XMODEM-协议。

确定以下信息在继续:

了解上述所有参数后,就可以继续操作。

  1. PC 上安装相应的软件 (例如,如果 bootloader 使用 FTP 服务器,您就需要一个 FTP 客户端)。
  2. 查阅相应的手册,例如: tftp, tftpd, ftp, ncftp, ftpd, pure-ftpd, 等 ...
  3. 为 PC 接口配置一个静态 IP 地址,该地址需与 bootloader 中预设的 IP 地址处于同一网段。
  4. 将 PC 连接到设备。
  5. 对设备进行断电重启。
  6. 使用您选择的软件连接到 bootloader 。
  7. 安装 OpenWrt 固件文件
  8. 除非明确指示,否则不要覆盖或修改引导加载程序!

注意: 有时即使是 bootloader 也会阻止您刷写非 OEM 固件。 如果您的时间窗口很短,则需要快速建立计算机与设备之间的连接。为了尽可能快地完成,您可以禁用 NIC 的自动协商和/或 禁用媒体感知.

具体操作指南

方法 3: 通过 Bootloader 和 串行端口

方法 4: 通过 JTAG

将 ramdisk-image 安装到主内存中

此步骤向您展示如何将新的 ramdisk 映像上传到设备。闪存上的现有固件保持不变!您需要一根可用的串口线来进行 ramdisk 上传。

  1. 专门选择 RAMDISK 选项,让 OpenWrt Buildroot 生成一个上传使用的 ramdisk-image 。
  2. 用一根网线连接您的计算机和 WNDR3700 的任意一个 LAN 口(哪个口不重要,只要不是 WAN 口就行)。
  3. 将串口线连接到 WNDR3700 的串口接头,并设置您的本地终端程序(例如 minicom)为:
    • 115200 bps 8N1
    • 无 software flow control
    • 无 hardware flow control.
  4. 将计算机的以太网端口设置为使用 IP 地址 192.168.0.10/24
  5. 本地计算机上设置一个 TFTP 服务器,使其响应 192.168.0.10 接口的请求。确保 ramdisk 映像 (openwrt-ar71xx-uImage-lzma.bin) 位于 TFTP 服务器使用的目录中。
  6. 修改 ramdisk 映像的头部方便别 u-Boot 识别使用。使用 wndr3700.c 程序(在 *aorlinsk* 论坛: http://aorlinsk2.free.fr/openwrt/wndr3700/) 并在 TFTP 服务器目录运行它。以防万一,我将代码复制在此:
    • ./wndr3700 openwrt-ar71xx-uImage-lzma.bin openwrt-fixed.out
  7. 给设备通电。当出现提示要求您按任意键中断正常启动序列时,在串行控制台上按一个键(或者从首次启动开始就一直按住回车键,直到出现提示符):
  8. 在串行控制台中输入以下命令:
    setenv ipaddr 192.168.0.1
    setenv serverip 192.168.0.10
    setenv bootargs 'board=WNDR3700'
    tftpboot 80800000 openwrt-fixed.out
    bootm

    (如果您忘记下面的 bootargs 部分,设备会启动并且看起来正常,但无法启动任何网络接口!)

  9. 系统应该启动!

具体示例: wnr2000, ...

别忘了查阅 OpenWrt通用基础指南

安装检查清单

未完全覆盖所有安装 OpenWrt 的方式。

安装前

安装中

安装后