Sysupgrade via URL

I have the verified sysupgrade file for 17.01.4 on my PC and am serving it over http. I tried to update my router but it didn't work...

root@wap1:~# sysupgrade -v http://mydesktop:8000/lede-17.01.4-lantiq-xrx200-BTHOMEHUBV5A-squashfs-sysupgrade.bin
Image metadata not found
Use sysupgrade -F to override this check when downgrading or flashing to vendor firmware
Image check 'fwtool_check_image' failed.

So I tried downloading to the router /tmp directory and then upgrading. That worked.

So I wanted to ask why sysupgrade with a URL does not work. Should I use -F (which I understand is dangerous) ?

Of course not. The instructions don't describe that.

See: https://wiki.openwrt.org/doc/howto/generic.sysupgrade

The instructions direct you to download the file to /tmp folder of the system. It should work.

I surmise because the sysupgrade software does not have such feature coded. Perhaps you should make a Feature Request at: http://bugs.lede-project.org/

I am pretty sure I used a URL to sysupgrade from a nightly to a stable of 17.01.2. I have it in my notes like that, and it wasn't that long ago, around September. But of course I may be wrong.

Also sysupgrade -h says

Usage: /sbin/sysupgrade [<upgrade-option>...] <image file or URL>

which would indicate that URL is a valid argument...

If it doesn't work that way then fair enough - a wget prior to sysupgrade is ok.

Interesting...

It also says:

-f <config>  restore configuration from .tar.gz (file or url)

Perhaps, this is only valid for a config file???

I'm not certain. In any case, I could surmise a lot going wrong with an unattended firmware upgrade from over the network; but it's possible to code. Perhaps making a feature or bug request might get a clearer answer for you.

The developers may also see this thread and chime in.

In the past there used to be the ability to sysupgrade from URLs directly but over time various features got added which require seeking back and forth over the file so the upgrade-from-URL possibility got broken along the way.

I think it might work in conjunction with -f to skip all thesafety checks but that is highly dangerous and will most likely just brick the device.

@jow if the URL is to a webserver on the LAN and the image has been verified (gpg and shasums) and has already been used successfully to upgrade another identical device (by copying to /tmp), would using -F stil be deemed dangerous and likely to brick ?

I ask becuase I have another device to upgrade which is identical to the first, already upgraded, device. I feel like -F ought to be ok given the above and was going to try it when I do the update - possibly today or over the next weekend.

But then I might as well just upload it to /tmp again.

What do you think?

I honestly can't tell offhand if would still work. I think you should stage the file in /tmp first to avoid any problems.

1 Like

I agree :slight_smile:

1 Like