菜鸟科技网

OpenWRT命令行刷机步骤详解?

OpenWrt命令行刷机是一种高级且灵活的固件更新方式,尤其适用于无法通过Web界面操作或需要批量部署设备的场景,相比图形化刷机,命令行操作更直接、可控性更强,但同时也要求用户具备一定的Linux基础和网络知识,本文将详细介绍OpenWrt命令行刷机的完整流程、注意事项及常见问题,帮助用户顺利完成操作。

OpenWRT命令行刷机步骤详解?-图1
(图片来源网络,侵删)

刷机前的准备工作

  1. 确认设备兼容性
    在刷机前,必须确认OpenWrt官方是否支持你的路由器型号,可通过OpenWrt官方的设备兼容列表查询,选择对应版本的固件(通常分为sysupgrade固件和factory固件)。

    • sysupgrade固件:用于在OpenWrt系统内升级,保留配置文件。
    • factory固件:用于从原厂系统刷入OpenWrt,或完全重置系统(会清除所有配置)。
  2. 备份重要配置
    若当前系统已配置过网络、账号等信息,建议提前备份,可通过以下命令导出配置:

    sysupgrade -b > backup_config.tar.gz

    备份文件需保存至本地或通过SCP传输至电脑。

  3. 连接方式选择
    命令行刷机支持多种连接方式:

    OpenWRT命令行刷机步骤详解?-图2
    (图片来源网络,侵删)
    • 串口连接:最稳定的方式,需使用USB转TTL模块连接路由器的串口引脚(波特率通常为115200)。
    • SSH连接:若路由器已运行OpenWrt,可通过SSH(默认端口22)登录。
    • Telnet连接:适用于原厂系统未加密的情况(不推荐,安全性低)。
  4. 下载固件
    从OpenWrt官网下载对应设备的固件,并确保固件完整性(如MD5校验),建议将固件通过SCP或USB存储设备传输至路由器的/tmp目录:

    scp /path/to/firmware.bin root@192.168.1.1:/tmp/

刷机操作步骤

场景1:从OpenWrt系统升级(sysupgrade固件)

  1. 登录路由器
    通过SSH或串口登录,执行以下命令进入临时目录:

    cd /tmp
  2. 验证固件
    检查固件是否为有效的sysupgrade格式:

    ls -l firmware.bin

    确保文件权限为可执行,且文件名包含sysupgrade关键字。

    OpenWRT命令行刷机步骤详解?-图3
    (图片来源网络,侵删)
  3. 执行升级
    运行sysupgrade命令,根据需求选择是否保留配置:

    sysupgrade -n firmware.bin  # 不保留配置(推荐首次刷机)
    # sysupgrade -f firmware.bin  # 强制保留配置(可能存在兼容风险)

    命令执行后,路由器会自动重启,升级过程约需3-5分钟。

场景2:从原厂系统刷入OpenWrt(factory固件)

  1. 登录路由器
    通过串口或Telnet登录原厂系统(部分设备需先开启Telnet功能)。

  2. 刷入factory固件
    使用mtd命令写入固件(需确认分区名称,通常为firmware):

    mtd write /tmp/factory.bin firmware

    部分设备可能需要重启:

    reboot
  3. 初始化配置
    刷机完成后,路由器会恢复出厂设置,需通过默认IP(如192.168.1.1)重新配置网络。

刷机后验证与故障排查

  1. 检查系统状态
    重启后,通过SSH或串口登录,执行以下命令确认OpenWrt版本:

    opkg list-installed | grep openwrt
  2. 常见问题处理

    • 刷机失败(设备无法启动)
      • 尝试通过串口进入U-Boot模式,手动恢复固件。
      • 检查固件是否匹配设备型号,或尝试不同版本的固件。
    • 网络无法连接
      • 重置网络配置:firstboot(清除所有配置后重启)。
      • 检查LAN口设置是否与电脑IP在同一网段。
    • SSH登录失败

      确认IP地址是否变更,或通过串口登录重置密码。

命令行刷机注意事项

  1. 断电风险:刷机过程中避免断电,可能导致设备变砖。
  2. 固件版本匹配:切勿跨大版本升级(如从19.07直接升级至22.03),需逐步升级。
  3. 备份恢复:若刷机后需恢复配置,可通过以下命令导入:
    sysupgrade -r /path/to/backup_config.tar.gz

相关问答FAQs

Q1:刷机过程中断电导致设备无法启动,如何修复?
A1:若设备支持串口,可通过串口进入U-Boot模式,使用bootcmd命令重新加载固件,或通过TFTP服务器恢复固件,具体操作需参考设备的U-Boot手册,部分设备可能需要短接特定引脚进入恢复模式。

Q2:刷机后无法通过SSH登录,但串口可进入系统,如何解决?
A2:可能是网络配置问题,通过串口登录后,检查网络接口状态:

ifconfig

若LAN口未启用,手动配置IP:

uci set network.lan.ipaddr='192.168.1.1'
uci commit
/etc/init.d/network restart

之后即可通过SSH登录。

分享:
扫描分享到社交APP
上一篇
下一篇