一键登录 更安全快捷
邮箱登录
我已阅读并接受 用户协议 隐私政策

小米路由器刷uboot和刷openwrt系统教程

小米路由器刷入U-Boot可实现底层启动加载器替换,为刷OpenWrt系统提供支持。通过串口连接或TTL方式进入U-Boot模式后,用户可使用TFTP、USB等方式刷写OpenWrt固件,从而获得更强的系统自由度和功能扩展,如自定义插件、网络优化及权限控制等。

说明:电脑先连上小米路由器(网线、WiFi均可),并登录192.168.31.1,我们这里以Redmi AX6000为例其他的小米路由器都是差不多的

登陆成功后在网址栏可以看见token,即加粗部分

示例:192.168.31.1/cgi-bin/luci/;stok=60522452fadf088a65c6bf93645282a1/web/home#router

将下方的**{token}**替换为自己的token即可。

开启TELNET

1.开启开发/调试模式(此模式下允许修改Bdata)

http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20

2.重启

http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

3.设置Bdata永久开启telnet

http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20

4.重启

http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

开启SSH:

连上telnet后运行下列命令:

1.修改root密码为admin(不修改也可以通过SN计算默认密码,此处不再赘述)

echo -e 'admin\nadmin' | passwd root

2.固化SSH

nvram set ssh_en=1

nvram set telnet_en=1

nvram set uart_en=1

nvram set boot_wait=on

nvram commit

3.临时开启SSH(重启会自动关闭,若想永久开启可以跳过,直接进行4):

sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear

/etc/init.d/dropbear restart

4.永久开启SSH(重启不会关闭):

mkdir /data/auto_ssh && cd /data/auto_ssh

curl -O https://cdn.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh

chmod +x auto_ssh.sh

uci set firewall.auto_ssh=include

uci set firewall.auto_ssh.type='script'

uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'

uci set firewall.auto_ssh.enabled='1'

uci commit firewall

5.关闭开发/调试模式

mtd erase crash

6.重启

reboot

备份分区

SSH登录路由器查看分区:

cat /proc/mtd

mtd0: 08000000 00020000 "spi0.1"

mtd1: 00100000 00020000 "BL2"

mtd2: 00040000 00020000 "Nvram"

mtd3: 00040000 00020000 "Bdata"

mtd4: 00200000 00020000 "Factory"

mtd5: 00200000 00020000 "FIP"

mtd6: 00040000 00020000 "crash"

mtd7: 00040000 00020000 "crash_log"

mtd8: 01e00000 00020000 "ubi"

mtd9: 01e00000 00020000 "ubi1"

mtd10: 03200000 00020000 "overlay"

cat /proc/partitions

31        0     131072 mtdblock0

31        1       1024 mtdblock1

31        2        256 mtdblock2

31        3        256 mtdblock3

31        4       2048 mtdblock4

31        5       2048 mtdblock5

31        6        256 mtdblock6

31        7        256 mtdblock7

31        8      30720 mtdblock8

31        9      30720 mtdblock9

31       10      51200 mtdblock10

253        0      15748 ubiblock0_1

可以看到原厂的ubi和ubi1两个固件分区是30MB。

查看FIP在哪个分区,有的在分区4,有的在分区5;一定要看好自己的

备份好FIP和Factory分区:

使用dd命令备份到tmp文件夹下:

dd if=/dev/mtd4 of=/tmp/mtd4_Factory.bin

dd if=/dev/mtd5 of=/tmp/mtd5_FIP.bin

备份下载到电脑保存好。

刷uboot

使用winscp软件,把mt7986_redmi_ax6000-fip-fixed-parts.bin上传到路由器的tmp目录

mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP

输入命令回车后是这样的:

root@XiaoQiang:~# mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP 其他的型号就是其他型号对应不死固件名称

Unlocking FIP ...

Writing from /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin to FIP ...

写入不死完等个10秒直接拔电;电脑以太网卡ipv4地址固定为192.168.31.X(X为2-254任意数字)

断电状态下;顶住reset孔插电,观察以太网卡,大约15秒即可松手,目前第一版不死Boot无灯提示

确认刷入完毕后,拔掉路由器电源。然后将电脑的IP地址设置为固定的192.168.31.2,接着按住路由器的RESET按钮后通电开机,等待15s后松开RESET(因为Uboot尚未支持LED指示灯,所以指示灯不会亮),用Chrome浏览器进入192.168.31.1,就会见到web页面,在uboot恢复页面选择要刷入的大分区固件。

刷openwrt固件

进入uboot的web界面,选factory.ubi固件刷入即可

237大佬的闭源OP的uboot大分区固件其实是sysupgrade.bin,但是可以uboot直接刷,固件能正常启动。

使用Chrome浏览器上传uboot大分区固件,然后点击update,等待出现更新成功,正在重启界面。

如果出现刷机失败,可以刷新192.168.31.1页面,重新上传再刷固件。

有可能出现的错误界面:

这样就是好的

用户留言 User Comments