Upgrade from 18.06.4 to 18.06.5 without sysupgrade image

I have different router all running with 18.06.4 and I want to upgrade them to 18.06.5 without using the release image 18.06.5. In the release notes I found the info that this is possible, but not how to do it. Therefore I tried following:

  1. Updating the repositories in the webgui/software/configuration
  2. Executing the command line : opkg update && opkg list-upgradable| awk '{print $1}'| tr '\n' ' '| xargs -r opkg upgrade

This doesn't works. Instead I got the error, that all kmod* packages are read only and the kernel can't be updates with actual kmod* modules. So the question is, what did I wrong and how I can do it in the right way? Is there a Howto which I can follow?

Thanks for your help.

Do not use opkg upgrade! You will almost certainly break things - sometimes major like a soft-brick or obvious failures in normal functionality, other times it may be subtle and lead you down a never ending path of troubleshooting.

You should always use a proper sysupgade path with release images, snapshot images (if so inclined) or your own custom images.

Is there a reason you don’t want to use sysupgrade images?

Edit: all of the release images can be found on the OpenWrt downloads page - just navigate to the right target type and download the image for your device.

1 Like

Not possible. You need the sysupgrade image of the the release.

There is no such procedure.
Where you think you saw the advice?
(The release notes only talk about packages, not about the underlying main system itself.)

1 Like

Thanks for your answer. I don't want to use the image to avoid to have to reinstall the additional packages I use for my personal purposes. And in the release notes was the hint, that this is possible and the use of the image is not needed.

There is actually a hint in the release notes that you can upgrade packages (one by one) to the current versions... But there is nothing about upgrading the core system without a release image.

1 Like

Reinstalling packages is pretty easy. You can script the process and iirc there is a script that attempts to find all user installed packages and reinstall them automatically after an upgrade.

I found it here: https://openwrt.org/releases/18.06/notes-18.06.5

Blockquote Note that updates to the package feeds are available immediately to all minor releases of OpenWrt: there is no need to upgrade to a new OpenWrt image to install newer versions of a package. This applies to core OpenWrt packages as well as community-maintained packages.

How I can do that? I'm afraid I need a Howto for this.

Upgrading packages is not the same as upgrading the base image. You cannot, and should not try to upgrade everything via opkg upgrade. Like I said, it will break things since it doesn’t update the actual kernel and other very low level stuff.

1 Like

You wrote, that I can reinstall my packages with a script. How I can do this or where I can find a tutorial, where it is explained for people, which have only a little bit more than a base knowledge of the OpenWRT system like me.

Google is your friend. But here is a thread on such a script. I’ve never tried it.

I have a simple process that I do - I keep a list of everything that I install and have a very simple script that I run after I finish a sysupgrade. In essence it looks like this:

opkg update; opkg install <package1> <package2> ... <packageN> 

A minute or two later it is done.

1 Like

Sorry, if I am anoying, but why the maintainer wrote, that it is not neccessary to use the image, if a lot of people here don't agree. I mean shouldn't it have a cause to argue in that way?

It is possible to upgrade some packages that have limited low level dependencies (or have been coded to gracefully handle certain version differences). But packages or kmods and other components that expect low level kernel dependencies to be consistent will cause all sorts of problems if there is a mismatch. And there is no real way to upgrade the lowest level stuff without using a new image.

No maintainers have ever advocated attempting a low level mass upgrade.


To be taken seriously: https://openwrt.org/meta/infobox/upgrade_packages_warning

If you do chose to upgrade packages, especially with a script: You have been warned. Don't complain on the forum and be ready to deal with the consequences yourself

1 Like

Sorry for my persistence. The maintainer wrote

there is no need to upgrade to a new OpenWrt image to install newer versions of a package. This applies to core OpenWrt packages as well as community-maintained packages.

And all I want to do is to upgrade from 18.06.4 to 18.06.5. I can't imagine about a smaller release upgrade than this. What is the maintainer talking about, if even this is not recommended. Execuse my stupidity, but I don't understand it.

What you posted has nothing to do with upgrading from 18.06.4 to 18.06.5.

  • You have packages installed on 18.06.4
  • You reset 18.06.4 to defaults (erasing all installed packages in the process)
  • You reinstall [new] packages on 18.06.4
  • Now, all packages are updated on 18.06.4


1 Like

Operative word there is PACKAGE. 18.06.4 -> 18.06.5 is an image update, not a package.


I think the confusion is a misunderstanding of the difference between release and packages, you can't upgrade the kernel as far as i know, and that would be required to go from 18.06.4 to 18.06.5, there has been talk about making package upgrade more viable, but it's still a work in progress i think.

1 Like

You can think of it like this: a package is roughly similar to an app. The image is essentially the main os and is stored in the flash storage in a read-only partition (rom). To upgrade the os, you must flash a new image. To update or install an app, you can use opkg install (or very carefully/selectively, opkg upgrade for a specific package — never use upgrade in bulk)


Okay, I give up. I will use the image to upgrade my systems as recommended.