标签归档:升级

说说软路由openwrt的几种升级办法

软路由openwrt如果想和普通硬路由一样升级系统且保留配置,有两个前提条件

  • 系统为squashfs格式
  • 升级系统包和原系统分区表相同,分配的硬盘大小相同。

如果你满足上述条件,可以在luci后台升级页面直接升级,其要求升级包为sysupgrade 格式,但实测编译出来的完整系统包也是可以正常升级的,文件名为 openwrt-x86-64-generic-squashfs-combined.img.gz,升级包是不需要解压的,当然,你解压了也是可以的,只是没必要,其在升级过程中发现升级包为压缩格式会自动解压的。

页面升级是最方便的办法,如果你对命令行情有独钟,当然也可以选择命令升级,ssh登陆路由器,把升级包放到 /tmp 目录(本地scp上传或wget下载随意),之后执行 sysupgrade /tmp/openwrt-x86-64-generic-squashfs-combined.img.gz 进行升级,同样,固件包也是不需要解压的。

还有一种办法就是直接使用dd命令写入,此办法没法保留配置,如要保留,请先导出配置,升级完成后再导入回去。不仅适用于squashfs格式的固件,ext4格式的固件也可以。

把解压后的img文件上传到/tmp文件夹,命令如下(注意文件名要改为你自己的,你的文件名不一定和我一样,引导硬盘/dev/sda也要改成你自己的)

dd if=openwrt-x86-64-generic-squashfs-combined.img of=/dev/sda
reboot

如果发现你的tmp空间(其实就是虚拟机内存空间)不够放解压后的文件,你也可以直接上传压缩包边解压边写入

gzip -dc /tmp/openwrt-x86-64-generic-squashfs-combined.img.gz | dd of=/dev/sda

照例reboot重启。

另外还发现一个问题,保留配置升级后后台和ssh登陆不上去,提示密码错误,我直接在虚拟机后台输入passwd命令更改密码,输入原来的密码其又提示“password not change” 密码没有改变?但神奇的是再使用相同密码登陆就能成功了,不知道是什么奇怪的bug,如果你也有相同问题,也可以和我用同样办法试试。如果你是物理机裸装openwrt,就只能接显示器接键盘进行这步操作,哈哈,虚拟机就这点方便~