Upgrading combined ext4 on x86

I have re-built the x86 combined image where the only difference is the added OpenSSH.

When trying to update via LuCI, I am presented with the following warning:

Image check failed:
Cannot open file '/etc/opkg/keys/991ec4dec961452b' for reading
upgrade: Image metadata not present
upgrade: Reading partition table from bootdisk...
upgrade: Extract boot sector from the image
upgrade: Reading partition table from image... Image check failed. 

The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.

I haven't specifically signed it, so the key verification error is expected. I am, however, concerned about the Reading partition table from image... Image check failed.

I am confident that the device was previously provisioned with the same openwrt-23.05.5-x86-64-generic-ext4-combined.img.gz as I am uploading now (sans the added OpenSSH).

Am I missing an important step or is this expected?

It is always useful to paste the full output, including the complete sysupgrade call.

However, the error message suggests you you decompressed the image, before trying to sysupgrade it (don't do that).

1 Like

Timestamps stripped:

sysupgrade -v -i -T openwrt-23.05.5-x86-64-generic-ext4-combined.img.gz
Cannot open file '/etc/opkg/keys/991ec4dec961452b' for reading
upgrade: Image metadata not present
upgrade: Reading partition table from bootdisk...
upgrade: Extract boot sector from the image
upgrade: Reading partition table from image...
Image check failed.

I have a similar issue trying to update my Protectli Vault FW2B from 23.05. What's the proper procedure please? Are we supposed to go with -F?

root@OpenWrt:~# sysupgrade /tmp/openwrt-24.10.1-x86-64-generic-ext4-combined.img.gz 
Mon May 19 13:36:05 UTC 2025 upgrade: Image metadata not present
Mon May 19 13:36:05 UTC 2025 upgrade: Unable to determine upgrade device
Image check failed.

In Luci, the attended sysupgrade seems to spin forever saying "Searching for an available sysupgrade of 23.05.5 - r24106-10cc5fcd00..."

I just tried the upgrade procedure in VirtualBox, going from 23.05.5 to 24.10.1:

This is also the case for me.

I placed the downloaded image (same as yours) into /srv, this is a separate, large partition on the same disk where the LXC images are going to be stored. Then I just started sysupgrade openwrt-24.10.1-x86-64-generic-ext4-combined.img.gz and everything worked right out of the box. Installed packages were lost, but the configuration files were preserved and so was the separate partition.

Thanks @andyboeh, that is quite an interesting finding.

I'm not familiar with LXC and don't have another partition on that disk (I should have left some space) but I tried putting the openwrt-24.10.1-x86-64-generic-ext4-combined.img.gz file on a usb drive and got the same problem :frowning:

(I would have thought it does not matter since anyway it gets copied to /tmp when not already in it and tmp is a tmpfs partition..)

Debugging this some more, it looks like the image signature is extracted using fwtool -i (after unzipping) but poking at random other images it seems only the ones with sysupgrade in the names are signed:
:+1:

root@OpenWrt:~# cat openwrt-24.10.1-ipq806x-generic-linksys_ea8500-squashfs-sysupgrade.bin  | fwtool -i blah - && cat blah
{  "metadata_version": "1.1", "compat_version": "2.1", "compat_message": "Config cannot be migrated from swconfig to DSA", "new_supported_devices": ["linksys,ea8500","ea8500"], "supported_devices": ["linksys,ea8500 ea8500 - Image version mismatch: image 2.1, device 1.0. Please wipe config during upgrade (force required) or reinstall. Reason: Config cannot be migrated from swconfig to DSA"],  "version": { "dist": "OpenWrt", "version": "24.10.1", "revision": "r28597-0425664679", "target": "ipq806x/generic", "board": "ea8500" } }

:-1:

root@OpenWrt:~# cat openwrt-24.10.1-ipq806x-generic-linksys_ea8500-squashfs-factory.bin | fwtool -i blah - && cat blah
Data not found

Mine:

root@OpenWrt:~# gunzip < openwrt-24.10.1-x86-64-generic-ext4-combined.img.gz | fwtool -i blah - && cat blah
Data not found

I guess the question then is, how are we supposed to upgrade a generic ext4 system for which I can't find a sysupgrade img?

I read somewhere on this forum that the approach described above only works if you haven't touched/resized the root partition.
I tried it again on a freshly installed 23.05.5 VM, this is the output I get:

root@OpenWrt:~# sysupgrade openwrt-24.10.1-x86-64-generic-ext4-combined.img.gz 
Thu May 22 19:33:46 UTC 2025 upgrade: Image not in /tmp, copying...
Thu May 22 19:33:46 UTC 2025 upgrade: Image metadata not present
Thu May 22 19:33:46 UTC 2025 upgrade: Reading partition table from bootdisk...
Thu May 22 19:33:46 UTC 2025 upgrade: Extract boot sector from the image
Thu May 22 19:33:46 UTC 2025 upgrade: Reading partition table from image...
Thu May 22 19:33:46 UTC 2025 upgrade: Saving config files...
Thu May 22 19:33:46 UTC 2025 upgrade: Commencing upgrade. Closing all shell sessions.

Your error message originates from here:

So the system doesn't find your boot device or partition (or similar)?