Maybe because you are new to this, you don't know the whole truth?
However, after you insisted that everything gets saved and then restored, I wonder which process you use exactly for this? Could you elaborate?
How do you update your software between maintenance updates?
How do you update your software between major versions?
How do you make sure your update contains all the packages that you had installed prior to the update?
How do you make sure all of your configs are restored after the update?
Now, after doing a little bit of searching around, I'm finding posts about the attended sysupgrade feature that appears to be relatively new. Supposedly, this feature now allows you to select the version you want to update to, select the packages that you want to be incorporated into the new software image and even have all your settings restored onto the new image. Your custom image then gets built in the publicly available server with the packages you requested, and then the image gets downloaded and the system gets flashed with this custom image. Then, all of the package settings get restored. This, however, appears to be a relatively new feature that addresses most of the issues that I had with running updates on OpenWRT.
I don't know exactly when the attended sysupgrade feature became fully functional with both the restored packages and the settings post upgrade, but it appears to date back about a year, which is quite possible why I may have missed this, as I transitioned to the R6S on FriendlyWRT about a year ago. Let me assure you that prior to this feature being available, updating OpenWRT with a non-squash image that had non-standard-set of packages installed was a major pain in the rear in both restoring the packages and restoring the settings for these packages.
January 9, 2023
Categories: OpenWRTOpenWrt now has a feature called Attended Sysupgrade that removes the friction required to do a sysupgrade. Previously, we needed to take note of the user installed packages on a system so they could be manually re-installed after the sysupgrade, but now the ASU backend dynamically builds an image with our custom packages pre-installed.
This makes it even more convenient to stay up-to-date on security fixes(https://www.opencve.io/cve?vendor=openwrt) and features in OpenWrt.
However, here's the official documentation for doing software updates in OpenWRT:
Note the part where it says that the images and the settings have to be manually restored (Part 3).
This was a workaround for preserving the packages:
As you can see, multiple scripts are listed in the page linked to above. These are the scripts that I was referring to.
And here's the reference to the configuration files of non-default packages needed to be restored:
Configure user-installed packages
See also: Comparing configurations
The new package installations will have installed new, default versions of package configuration files. If existing configuration files are in place, opkg displays a warning about this and saves the new configuration file versions under
/etc/config/*-opkg
filenames.The new package-provided config files should be compared with your older customized files to merge in any new options or changes of syntax. The
diff
tool is helpful for this.
Searching further, I see a page on OpenWRT wiki about the Luci package for attended sysupgrade that is dated December 12, 2023 without any previous versions for this document listed:
I'm not sure when this Luci package was first released, and I do know there is a CLI version of this process as well.
So, to sum up, perhaps the issue I was referring to is now a non-issue anymore, but it was a huge issue not so long ago. Like I said, I switched from Raspberry Pi 4B to the R6S about a year ago, so I stopped running OpenWRT and switched to FriendlyWRT about a year ago. If attended sysupgrade actually works, then the major obstacle to using OpenWRT has been removed. It's still not as smooth as with other firewalls, as you have to wait for the custom image to be built in the server (hence "attended"), but at least it's seems to be a much smoother and almost completely automated process.
Will be looking forward to the official OpenWRT support of the R6S to leverage the attended sysupgrade process.