升级OpenWRT
去年买了一款linksys wrt54g v4改造版,ROM为8M,RAM则升级到了64M,预装了tomato 1.25版。通过web界面,我把它升级到了kamikaza8.09.2,前段时间官网推出了backfire10.03.1-rc4,采用2.6.32的内核,提供更丰富的软件功能,支持的硬件类型也更多,于是我开始了曲折的升级之旅。
根据官网的文档,我执行了以下操作:
- 下载backfire 10.03.1-rc4镜像文件;
- 在kamikaza的“升级界面”upload该镜像文件,出现不支持该镜像文件的错误。
接着,我尝试将镜像文件上传到ROM中,然后通过命令行进行升级:
- 启动SSHd;
- 由于kamikaza没有SFTP,因此WinSCP无法通过SFTP将镜像文件上传至OpenWRT,于是我在笔记本上利用hfs这个小工具架设了一个web网站;
- 在kamikaza中,通过wget将镜像文件下载至
/tmp
目录下; mtd -r write openwrt-wrt54g-squashfs.bin linux
提示:
Could not open mtd device: linux
Can't open device for writing!
接着
mtd unlock linux
mtd -r write openwrt-wrt54g-squashfs.bin linux
Bad trx header
This is not the correct file format; refusing to flash.
Please specify the correct file or use -f to force.
Image check failed.
shit,不就是升个级吗?!
于是又尝试了以下几种操作:
1.mtd -r write openwrt-wrt54g-squashfs.bin firmware
实际上并没有firmware这个分区,当时找到的文档太老了,也不了解OpenWRT的flash分区情况就病急乱投医。
{: class=“info”}
2.通过sysupgrade升级
创建/etc/sysupgrade.conf(复制wiki.openwrt.org中的/etc/sysupgrade.conf)
sysupgrade openwrt-wrt54g-squashfs.bin
Bad trx header
This is not the correct file format; refusing to flash.
Please specify the correct file or use -f to force.
Image check failed.
傻眼了,难不成经过改造后的这款Linksys无法升级?
后来忽然想到,当时是通过tomato的web页面升级到OpenWRT的,何不先将kamikaza升级至tomato,然后再从tomato升级至backfire?但又有些担心,万一变成砖头怎么办?所以google到一篇文章:Installing Tomato over OpenWRT for Linksys WRT54G,似乎DD-WRT对unbricked有一手,即便出错了还能倒退。
于是下载了一个dd-wrt.v24_mini_generic.bin,颤抖的双手终于将kamikaza升级到DD-WRT,接下来就非常顺利了,又从DD-WRT的web升级到了backfire。紧接安装所需的软件包:
opkg update
opkg install tcpdump
opkg install tmux
opkg install openvpn
opkg install iftop
opkg install iperf
至此,Linksys WRT54G又恢复了元气,甚至更为强壮。