[LEDE-DEV] how to make sysupgrade not drop user-installed packages

Magnus Kroken mkroken at gmail.com
Sat Jan 7 14:31:01 PST 2017

Hi Oswald

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 [1]. 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.

[1] https://meshkit.freifunk.net/


More information about the Lede-dev mailing list