21
2019
01
14:14:47

WRT1200AC/1900AC系列路由Openwrt/LEDE切换固件的方法

WRT1200AC/1900AC系列路由Openwrt/LEDE切换固件的方法

 路由存放固件的FLASH芯片有两个分区,分别存放两个固件,可通过SSH命令从当前OP/LEDE固件重启切换至另一个备用固件。而不需要通过“三次开关机”大法。

SSH登录路由,输入以下命令查看所处分区:
fw_printenv boot_part

例如:
root@lede:~# fw_printenv boot_part
boot_part=1
#返回结果显示当前使用的固件在第1分区。


#如果要重启并切换至第2分区的另一个固件,则分别输入以下2条命令:
fw_setenv boot_part 2
reboot
#路由器重启。清空浏览器缓存,再次连接即可。

如果当前使用的是官方的固件,想切换固件这一方法不适用,因为官方固件没有开启SSH。用3楼的方法进行切换。

 

QQ图片20161220225535.png (28.39 KB, 下载次数: 4)

下载附件  保存到相册

2016-12-20 23:07 上传



原厂固件就用它了。

 

 

 

 

第一第二分区都是LEDE了肿么办?就是没办法,回不到原厂固件了吗?


这么操作:

1、下载官方固件,改名成 factory.img, 然后用winscp软件上传到路由器的 /tmp 目录下;
2、使用putty软件登录路由器,输入
        cd /tmp
        sysupgrade -F -n -v factory.img

系统自动升级固件并重启,重启后就是官方固件了。LEDE现在还是在开发中,上次试过一次在luci界面刷非LEDE固件失败,还是尽量用上面的方法刷固件。

如果是要刷DD-WRT固件,则需要改一下固件文件的后缀名,例如,把路由器对应的DD-WRT固件factory-to-ddwrt.bin上传到路由的 /tmp 文件夹下,改一下文件名后缀:
        mv /tmp/factory-to-ddwrt.bin /tmp/factory-to-ddwrt.trx
        sysupgarde -n -F -v /tmp/factory-to-ddwrt.trx
刷完固件之后, 路由器就是一个分区是原来的LEDE,另一个分区是DD-WRT。

命令行切换重启分区就用置顶贴的方式,或者用以下脚本自动判别并切换。
--------------------以下为脚本内容-------------------------------------


#!/bin/sh
# Hacked from /lib/upgrade/linksys.sh (then taken from anomeome and hacked even further)

cur_boot_part=`/usr/sbin/fw_printenv -n boot_part`
target_firmware=""
if [ "$cur_boot_part" = "1" ]
then
    target_firmware="Switching to Kernel/Partition 2"
    fw_setenv boot_part 2
    fw_setenv bootcmd "run altnandboot"
elif [ "$cur_boot_part" = "2" ]
then
    target_firmware="Switching to Kernel/Partition 1"
    fw_setenv boot_part 1
    fw_setenv bootcmd "run nandboot"
fi
# Re-enable recovery so we get back in case the new firmware ist kaput
fw_setenv auto_recovery yes
echo "$target_firmware"

# Add option to reboot now or later
read -p "Are you ready to reboot now? y or n = " CONT
if [ "$CONT" = "y" ]; then
    echo "Rebooting now"
    reboot
elif [ "$CONT" = "yes" ]; then
    echo "Rebooting now"
    reboot
else
    echo "Exiting for manual reboot"
fi

 

------------------------------

 

如果使用的DD-WRT, 切换固件方法类似,如下:
查看所处分区
        ubootenv get boot_part 
假设返回结果显示所处第1分区,切换到第2分区并重启:
        ubootenv set boot_part 2

        reboot




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/216.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: