I just upgraded my OpenWRT router from Barrier Breaker RC2 to RC3. The upgrade guide is excellent, but it only mentions: “You do need to reinstall opkg-packages”… well, it sounds like there should be a smart way to do that.
Before upgrade:
# opkg list-installed > /etc/config/packages.installed
Two things to note: 1) This will take a few kb, that you must have available, and 2) since the file is in /etc/config it will be automatically restored after sysupgrade.
Now the sysupgrade itself (see the upgrade guide):
# sysupgrade -v /tmp/someimage-sysupgrade.bin
The system will restart, and you should be able to ssh into it, just as before the upgrade. Now reinstalling packages:
# opkg update # opkg install $( cut -f 1 -d ' ' < /etc/config/packages.installed )
You will want to delete the new config files (or manually merge config files, or delete your old and use the new files). The new files have the "extension" -opkg, and can be found with
# cd / # find | grep -e -opkg\$
That should be it.
Update 20151115
If you upgrade from 14.07 to 15.05 you will probably get this:
* opkg_install_cmd: Cannot install package kmod-ipt-nathelper
I think this package has just been removed/replaced. Nothing to worry about, it seems.
If you upgrade the firmware and reinstall the opkg packages, does it remember the configuration settings from before the update?
Or should I first take a backup of the config files and then reinstall that backup?
If I remember correctly, it at remembers everything in /etc/config
And I would not expect it to remember anything else.