OpenWrt 펌웨어를 업그레이드하는 과정을 포스팅해본다.


우선 새로운 펌웨어가 올라갈 때 보존되어야 할 파일을 지정한다. 다음과 같이 파일을 수정한다. /root는 .profile 파일등을 보존하기 위해 지정한다. 그런데 업그레이드 경험상 /etc 폴더는 그대로 보존되는 것 같다.

/etc/sysupgrade.conf 수정

## This file contains files and directories that should
## be preserved during an upgrade.

# /etc/example.conf
# /etc/openvpn/
/etc/firewall.user
/root


그리고 /tmp폴더로 이동하여 펌웨어를 다운로드한다. 반드시 tmpfs 파일시스템으로 마운트된 /tmp 폴더나 하위 폴더에서 해야한다.

root@OpenWrt:/# cd /tmp

root@OpenWrt:/tmp# wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-sysupgrade.bin

root@OpenWrt:/tmp# wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/md5sums


root@OpenWrt:/tmp# wget http://downloads.openwrt.org/attitude_adjustment/12.09-beta/ar71xx/generic/openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-sysupgrade.bin

root@OpenWrt:/tmp# wget http://downloads.openwrt.org/attitude_adjustment/12.09-beta/ar71xx/generic/md5sums


아래와 같이 입력하여 다운로드받은 파일의 무결성을 점검한다. 아래 명령의 결과 맨 아래에 "md5sum: WARNING: nnn-1 of nnn computed checksums did NOT match" 라고 나오면 정상이다.

md5sum -c md5sums


마지막으로 다운받은 펌웨어로 업그레이드를 진행한다.

sysupgrade -v openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-sysupgrade.bin


그러면 다음과 같은 로그가 보이면서 업그레이드가 완료된다.

root@openwrt:/tmp$ sysupgrade -v openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-sysupgrade.bin
Saving config files...
root/zeit
root/statistics
root/quelen
root/auswurfeln
etc/sysupgrade.conf
etc/sysctl.conf
etc/shells
etc/rc.local
etc/TC_hfsc.sh
etc/profile
etc/passwd
etc/inittab
etc/init.d/trafficc
etc/hotplug.d/iface/30-trafficc
etc/hosts
etc/group
etc/firewall.user
etc/dropbear/dropbear_rsa_host_key
etc/dropbear/dropbear_dss_host_key
etc/crontabs/root
etc/config/wireless
etc/config/timeserver
etc/config/system
etc/config/network
etc/config/firewall
etc/config/dropbear
etc/config/dhcp
etc/collectd.conf
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...

Writing from <stdin> to firmware ...
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...TRX header not found
Error fixing up TRX header

Writing from <stdin> to firmware ...
Upgrade completed
Rebooting system...


잠시 후 재부팅이 되고 다시 공유기에 SSH 접속을 할 수 있다. 그리고 다음 명령을 수행하면 리눅스 커널의 버전과 펌웨어의 빌드날짜를 확인할 수 있다.

uname -a


모두 업그레이드가 되었다면, 그동안 설치했던 패키지들을 다시 설치하도록 한다. 패키지들은 지워지기 때문이다.


참고사이트
  1. http://wiki.openwrt.org/doc/howto/generic.sysupgrade



2012.10.09 공식 베타로 올라왔기 때문에 다운로드 링크 수정.

저작자 표시 비영리 변경 금지
신고
Posted by Life 스토리