|
楼主 |
发表于 2022-9-23 14:57
|
显示全部楼层
本帖最后由 ptpt52 于 2022-12-20 07:28 编辑
新版本教程:(新版本固件是 22.03-b202209230614 以及之后的版本)
第1步,获得ssh/telnet访问,网上有很多这样的教程,找不到就用这个 https://openwrt.org/toh/xiaomi/redmi_ax6000#installation
第2步,查看当前系统是ubi 还是 ubi1
执行命令 cat /proc/cmdline
输出例子:
- console=ttyS0,115200n1 loglevel=8 firmware=1 uart_en=1
复制代码 注意 firmware=1 表示当前系统是ubi1
firmware=0 表示当前系统是ubi
第3步,设置nvram并且刷 stock-intramfs-factory.ubi
根据当前系统,设置不同的nvram
如果当前系统是 ubi,设置nvram变量从ubi1启动
- nvram set boot_wait=on
- nvram set uart_en=1
- nvram set flag_boot_rootfs=1
- nvram set flag_last_success=1
- nvram set flag_boot_success=1
- nvram set flag_try_sys1_failed=0
- nvram set flag_try_sys2_failed=0
- nvram commit
复制代码 然后刷 intramfs-factory.ubi 到 ubi1,这里 ubi1 路径 /dev/mtd9 是查看 cat /proc/mtd 得到的
- ubiformat /dev/mtd9 -y -f /tmp/stock-initramfs-factory.ubi
复制代码
如果当前系统是 ubi1,设置nvram变量从ubi启动
- nvram set boot_wait=on
- nvram set uart_en=1
- nvram set flag_boot_rootfs=0
- nvram set flag_last_success=0
- nvram set flag_boot_success=1
- nvram set flag_try_sys1_failed=0
- nvram set flag_try_sys2_failed=0
- nvram commit
复制代码
然后刷 intramfs-factory.ubi 到 ubi,这里 ubi 路径 /dev/mtd8 是查看 cat /proc/mtd 得到的
- ubiformat /dev/mtd8 -y -f /tmp/stock-initramfs-factory.ubi
复制代码
第4步,刷sysupgrade文件完成刷机
上述完成刷 stock-initramfs-factory.ubi 之后,reboot 重启,进入x-wrt/openwrt 的initramfs临时系统
ssh 可以登了继续后面的操作
但是刷stock-sysupgrade.bin文件之前,要先设置一下uboot env变量,修改启动
- fw_setenv boot_wait on
- fw_setenv uart_en 1
- fw_setenv flag_boot_rootfs 0
- fw_setenv flag_last_success 1
- fw_setenv flag_boot_success 1
- fw_setenv flag_try_sys1_failed 8
- fw_setenv flag_try_sys2_failed 8
复制代码
注意了,不需要修改mtdparts,可以查看mtdparts,他保持小米原厂的值不变
查看mtdparts,用命令查看 fw_printenv mtdparts 查看结果如下:
- mtdparts=nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),30720k(ubi),30720k(ubi1),51200k(overlay)
复制代码
最后一步就是刷 stock-sysupgrade.bin,可以界面升级刷
也可以命令
- sysupgrade -n /tmp/stock-sysupgrade.bin
复制代码
固件下载 https://www.right.com.cn/forum/thread-212965-1-1.html
进入下载页面 ctrl + F 搜索 AX6000 就能找到红米ax6000了
刷机需要的两个文件
- initramfs-factory.ubi
- squashfs-sysupgrade.bin
复制代码
上述完成了
后面的内容给老版本openwrt/x-wrt固件,要更新到这个新版本的朋友
先登了ssh执行修改
- fw_setenv mtdparts "nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),30720k(ubi),30720k(ubi1),51200k(overlay)"
复制代码
然后执行命令刷 initramfs-factory.ubi
- mtd -r -e ubi write /tmp/stock-initramfs-factory.ubi ubi
复制代码
重启后进入initramfs系统,界面升级一次 stock-sysupgrade.bin 就 升级到新版本了
注意由于老版本openwrt/x-wrt固件和新版本 分区不兼容,不能直接升级sysupgrade文件。
注意不兼容,不兼容,不要随便刷不同版本的openwrt
如何知道我的版本是不是分区兼容的,如果 cat /proc/mtd 看见 ubi_kernel 分区 就是兼容分区的,直接sysupgrade升级就行。
如果看不见 ubi_kernel 分区,就是不兼容,需要用这个方法 升级刷机。
红米 AX6000 x-wrt固件的分区布局说明
- [ 0.799935] 9 fixed-partitions partitions found on MTD device spi0.0
- [ 0.806510] Creating 9 MTD partitions on "spi0.0":
- [ 0.811290] 0x000000000000-0x000000100000 : "BL2"
- [ 0.817170] 0x000000100000-0x000000140000 : "Nvram"
- [ 0.822492] 0x000000140000-0x000000180000 : "Bdata"
- [ 0.827843] 0x000000180000-0x000000380000 : "Factory"
- [ 0.834845] 0x000000380000-0x000000580000 : "FIP"
- [ 0.841400] 0x000000580000-0x0000005c0000 : "crash"
- [ 0.846745] 0x0000005c0000-0x000000600000 : "crash_log"
- [ 0.852412] 0x000000600000-0x000002400000 : "ubi_kernel" <--- 这个UBI分区包含kernel volume
- [ 0.882221] 0x000002400000-0x000007400000 : "ubi" <--- 这个UBI分区包含rootfs + rootfs_data volume
复制代码
|
评分
-
查看全部评分
|