V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rivercherdeeeeee
V2EX  ›  问与答

WR30U 刷官方 openwrt 固件

  •  
  •   rivercherdeeeeee · 15 天前 · 815 次点击
    WR30U 刷官方 openwrt 固件,下面二者有啥区别吗

    Xiaomi Mi Router WR30U (OpenWrt U-Boot layout)

    Xiaomi Mi Router WR30U (stock layout)

    有大佬能给科普一下吗
    [Imgur]( )
    20 条回复    2024-11-08 17:16:59 +08:00
    yelc668
        1
    yelc668  
       15 天前
    uboot 是引导加载程序 第二个是标准的固件
    rivercherdeeeeee
        2
    rivercherdeeeeee  
    OP
       15 天前
    @yelc668 二者都是 openwrt 系统吗
    hahasong
        3
    hahasong  
       15 天前   ❤️ 1
    能问出这个问题建议别刷了,刷错分区掉 mac ,变砖还要救机
    nomagick
        4
    nomagick  
       15 天前
    选第二个,不替换原装引导程序,只刷操作系统。

    第一个是给已经替换了原厂引导程序的机器用的
    MRG0
        5
    MRG0  
       15 天前
    这个机器不好玩
    rivercherdeeeeee
        6
    rivercherdeeeeee  
    OP
       15 天前
    @nomagick 等于都是刷 openwrt 系统是吧,只是第二种和原始固件布局一样,后期方便刷回去,第一个是改了分区布局大小之类的,大概是这样理解吗
    nomagick
        7
    nomagick  
       15 天前
    @rivercherdeeeeee
    路由器分区有好几部分,现在很多机器都有 2 套操作系统,互为备份,落到分区上,类似
    分区 1 uboot 引导程序 分区 2 OS1 分区 3 OS2 分区 4 DATA
    这种有多少个分区,哪个分区多大在哪,就是布局

    原厂自带了 uboot 和布局,你没刷过机就是原厂布局,

    只有你进行过全盘刷机,刷掉了原厂布局,才是其他布局,一般都是用 openwrt 开源的 uboot 和布局,这就是 openwrt 布局。
    别进行全盘刷机,哪没搞好真就成砖了,不全盘刷也不影响换操作系统。
    rivercherdeeeeee
        8
    rivercherdeeeeee  
    OP
       15 天前
    @nomagick 我看有的人说刷了二固件才能刷一固件,没这种说法吧
    nomagick
        9
    nomagick  
       15 天前
    原厂系统也是一种 openwrt, 本质上你只是进行不同 openwrt 版本的刷机,你刷的固件永远是当前启动固件的备份,当前启动 OS1 那你刷的就是 OS2 ,你当前启动 OS2 那你刷的就是 OS1 ,具体启动哪个,是有一个 NVRAM 参数表示的。

    总之刷系统也是系统功能的一部分,也是自助全自动的,你就点来点去就行了,刷不坏的。
    刷得不好,多重启几次就会跳到备份系统,到了那边再把原厂固件刷回来就是。
    nomagick
        10
    nomagick  
       15 天前
    所以刷了 OS2 才能刷 OS1 这话也没错,但是没必要,本来就是用作备份的,也不影响你刷进去的系统的功能。
    rivercherdeeeeee
        11
    rivercherdeeeeee  
    OP
       15 天前
    @nomagick 好的 感谢耐心讲解
    vmebeh
        12
    vmebeh  
       15 天前
    https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=54dc1cde48a47a3ebf4c182916802f33786f000a
    看看提交日志,原厂是双系统分区,用原厂布局就有一半空间空置了
    如果备份了原厂分区数据,哪种布局都可以刷回

    原厂的
    dev: size erasesize name
    mtd1: 00100000 00020000 "BL2"
    mtd2: 00040000 00020000 "Nvram"
    mtd3: 00040000 00020000 "Bdata"
    mtd4: 00200000 00020000 "Factory"
    mtd5: 00200000 00020000 "FIP"
    mtd8: 02200000 00020000 "ubi"
    mtd9: 02200000 00020000 "ubi1"
    mtd12: 00040000 00020000 "KF"
    rivercherdeeeeee
        13
    rivercherdeeeeee  
    OP
       15 天前
    @nomagick 再问一下 为什么 启动 OS1 那你刷的就是 OS2 ,为什么不能刷 OS1 ,是在运作无法写入吗
    nomagick
        14
    nomagick  
       15 天前
    @rivercherdeeeeee 应该有这样的考虑,但如果分区是 squashfs 文件系统那么不影响刷入,但 openwrt 也可以选择 ext4 之类的普通文件系统,这个情况下影响刷入。
    综合下来就有了这个策略,具体执行是由 bash 脚本当时决定的,也可以通过修改 NVRAM 覆盖
    rivercherdeeeeee
        15
    rivercherdeeeeee  
    OP
       15 天前
    @nomagick 如果刷回原路由固件,是不是把刷机前备份的 mtd 分区数据逐个 mtd write 回去就行了
    nomagick
        16
    nomagick  
       15 天前
    @rivercherdeeeeee 是,但是没必要,经过了这么多年的发展进化出了双系统互为备份,再多出 50MB 其实你也用不上,最开始的时候 XOR 闪存全盘就 4M16M 也运行得挺好,现在 NAND 闪存随便富裕空间也有好几十 MB ,就全自动刷机就可以了。
    rivercherdeeeeee
        17
    rivercherdeeeeee  
    OP
       15 天前
    @nomagick “多重启几次就会跳到备份系统,到了那边再把原厂固件刷回来”,这里的原厂固件是哪里获取,原谅我是小白
    nomagick
        18
    nomagick  
       15 天前
    rivercherdeeeeee
        19
    rivercherdeeeeee  
    OP
       15 天前
    @nomagick 好的 谢谢
    jiejianshiwa
        20
    jiejianshiwa  
       13 天前
    从原厂系统刷 op 用 stock 版本,刷完后刷 op 的布局用 openwrt layout 版本,23.05.3 版本可以刷 110M 的图形话 uboot 版本
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3490 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:10 · PVG 19:10 · LAX 03:10 · JFK 06:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.