[LEDE-DEV] how to make sysupgrade not drop user-installed packages
mkroken at gmail.com
Sat Jan 7 14:31:01 PST 2017
On 07.01.2017 19.04, Oswald Buddenhagen wrote:
> the idea would be to simply dump the list of user-installed packages into
> a config file which is preserved by sysupgrade. now, firstboot would see
> that file and start opgk with it - that's usually going to just work, as
> the network configuration is preserved as well. on top of that, luci
> could offer a button in the software manager to manually trigger the
> process in case the fully automated restoration didn't work out.
1. This relies on all packages and kernel modules needed to connect to
the internet being part of the image. Users using DHCP will be fine
(PPPoE as well I think), but users that need e.g. L2TP support to
connect to their ISP (common in certain countries) will need to build a
custom image to add L2TP support. More specialised setups using mobile
broadband or one of the many mesh network protocols may also need a
custom image. If you need a custom image, you might as well put all your
packages in it to save space.
2. If you do build a custom image without all your packages, packages
you download from LEDE servers may be incompatible for various reasons -
kernel version, library versions, compile-time defined options and so on.
> scripts for doing just that have been posted years ago, so i'm wondering
> why such a mechanism wasn't integrated upstream. am i missing something,
> or did just nobody think it important enough to do?
As mentioned above, there are many kinds of internet connections where
the default package selection won't provide internet access. Since you
can't remove files/packages from SquashFS (in the image), the default
packages should be limited to what is useful and necessary to almost
everyone - otherwise everyone would have lots of useless packages in
their image that take up valuable space (and devices with 4MB flash
would be unsupported).
> of course, this immediately prompts the next question: why doesn't
> luci's flash operations page have an auto-download option for the
> sysupgrade image? the locations of the package feeds are also inside the
> image, and automating the integrity check isn't rocket science, either.
There have been recent discussions about a web interface to the image
builder, based on or similar to Meshkit by Freifunk . LuCI/sysupgrade
could add a feature to connect to this service, submit a list of
installed packages and other needed information, and automatically
download an image built with these packages.
More information about the Lede-dev