2-openwrt-one开发板接口、升级流程介绍

前面我们将项目环境已经搭建并编译输出了升级文件,下面我们将对开发板的使用接口进行介绍,并介绍每个模块的升级命令。

1、硬件说明

openwrt-one开发板拆开之后如下:
在这里插入图片描述

前置说明:

  • 开发板设计了nor和nand双flash机制,正常的产品只会有nand flash,但是开发板为了避免用户自行开发过程将nand flash固件升坏变砖,设置了nor flash用来救系统使用。
  • WAN口集成了POE供电模式,也就是说我们可以使用POE交换机直接给WAN口即供电又提供网络,可以不用再插入电源数据线。
  • 开发板只有一个lan口,没有使用switch芯片扩展,正常的产品会加MT7531进行扩展
  • 开发板默认串口和ssh都是开启的。
2、nand flash下升级

将启动方式拨到上面,通过NAND启动,然后上电。接串口或者ssh进入openwrt后台,如下:

BusyBox v1.36.1 (2025-03-09 16:28:50 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 24.10-SNAPSHOT, r28533-2b0cce92ae
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~# 
root@OpenWrt:~# 

更多的时候我们是对系统功能进行开发,所以系统升级最频繁,命令如下:

系统升级:

sysupgrade /tmp/openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb

升级系统的同时恢复出厂设置:

sysupgrade -n /tmp/openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb

如果改动到uboot的内容,需要升级uboot/fip的时候,我们需要在uboot下升级。

重启上电启动,到uboot倒计时的时候,通过输入对应的数字选择要升级的固件类型,选项如下:


    ( ( ( OpenWrt ) ) )  [SPI-NAND]       U-Boot 2024.10-OpenWrt-r28533-2b0cce92ae (Mar 09 2025 - 16:28:50 +0000
  1. Run default boot command.
  2. Boot system via TFTP.
  3. Boot production system from NAND.
  4. Boot recovery system from NAND.
  5. Load production system via TFTP then write to NAND.
  6. Load recovery system via TFTP then write to NAND.
  7. Load BL31+U-Boot FIP via TFTP then write to NAND.
  8. Load BL2 preloader via TFTP then write to NAND.
  9. Reboot.
  a. Reset all settings to factory defaults.
  0. Exit

  Press UP/DOWN to move, ENTER to select, ESC to quit

可以看到我们选择7就是升级fip固件,也就是编译后生成的openwrt-mediatek-filogic-openwrt_one-snand-bl31-uboot.fip文件就是。

在uboot模式下升级的话,有以下准备:

  • 电脑需要使用网线接路由器LAN口
  • 电脑网卡IP设置成静态IP:192.168.11.23
  • 打开tftpd64.exe工具,将路径选择到openwrt-mediatek-filogic-openwrt_one-snand-bl31-uboot.fip文件存放的目录
  • 之后启动开发板,当运行到选择目录时,按下7,进行fip固件升级

同样的,我们在uboot下可以升级,preloader还有系统,只是选择的数字不一样。

nand flash对应的升级文件如下:

  • preloader:openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin
  • fip:openwrt-mediatek-filogic-openwrt_one-snand-bl31-uboot.fip
  • system:openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb
3、nor flash下升级

将启动方式拨到下面,通过NOR启动,然后上电。

在NOR FLASH的uboot模式下,与NAND FLASH的类似,如下:

( ( ( OpenWrt ) ) )  [SPI-NOR]       U-Boot 2024.10-OpenWrt-r28161-ea17e958b9 (Dec 03 2024 - 11:41:08 +0000)

  1. Run default boot command.
  2. Boot system via TFTP.
  3. Unlock NOR. (Make sure the NOR/WP jumper is populated)
  4. Load BL31+U-Boot FIP via TFTP then write to NOR.
  5. Load BL2 preloader via TFTP then write to NOR.
  6. Load recovery system via TFTP then write to NOR.
  7. Lock NOR. (Remove jumper afterwards)
  8. Reboot.
  0. Exit

  Press UP/DOWN to move, ENTER to select, ESC to quit

可以在uboot下对NOR FLASH本身的preloader、fip、system进行升级,方式与上面的一样。

nor flash对应的升级文件如下:

  • preloader:openwrt-mediatek-filogic-openwrt_one-nor-preloader.bin
  • fip:openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip
  • system:openwrt-mediatek-filogic-openwrt_one-initramfs.itb

如果我们开发nand flash的时候,不小心搞成砖了,这时候也可以通过nor flash来救活

nor flash启动完成后,进入系统,查看mtd分区可以看到如下分区,具体定义在dts里面,后面修改时再介绍。

root@OpenWrt:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00040000 00010000 "bl2-nor"
mtd1: 000c0000 00010000 "factory"
mtd2: 00080000 00010000 "fip-nor"
mtd3: 00c80000 00010000 "recovery"
mtd4: 00100000 00020000 "bl2"
mtd5: 0ff00000 00020000 "ubi"

前面mtd0-3的分区都是nor flash的,后面的mtd4、mtd5分区是nand flash的。

  • bl2:就是preloader,对应的升级文件为openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin
  • ubi:是一个集成了fip和system的ubi分区,对应的升级文件为openwrt-mediatek-filogic-openwrt_one-factory.ubi。

所以可以通过如下命令恢复nand flash的内容

spi下更新nand bl2

# 使用 mtd 工具写入
mtd -e /dev/mtd4 write /tmp/openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin /dev/mtd4

# 验证
mtd verify /tmp/openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin /dev/mtd4

spi下更新ubi格式的fip+sysupgrade

# 使用 mtd 工具写入
mtd -e /dev/mtd5 write /tmp/openwrt-mediatek-filogic-openwrt_one-factory.ubi /dev/mtd5

# 验证
mtd verify /tmp/openwrt-mediatek-filogic-openwrt_one-factory.ubi /dev/mtd5

写入成功后,将拨码再切换nand flash正常启动nand系统。

官方还支持usb升级之类的,但是个人觉得没有必要学习,毕竟不是常用的方式,而且还要格式化U盘,制作镜像;上面的方法已经够用了。

https://openwrt.org/toh/openwrt/one

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

creatorly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值