Notice: Problems with custom firmware image creation

2025-Feb-13: There are known intermittent issues generating custom images using the online image generator (firmware selector and sysupgrade servers). This affects Attended Sysupgrade (ASU), OWUT (OpenWrt Upgrade Tool), and the firmware-selector custom image tool. See this thread for more details.

Please do not open new threads on this topic as it has already been discussed in numerous threads (with the same answers each time).

9 Likes

While I cannot speak to the specifics (not my area of expertise), the issue is related to problems in the build system with mismatched checksum/hashes and the like.

In many cases, the errors that are surfacing will include...

 * opkg_install_pkg: Checksum or size mismatch for package 

and/or

 * pkg_hash_check_unresolved: cannot find dependency

You may also see a note about "Impossible package selection" and other failures.

These are known issues -- the banner will be removed when it is resolved.

In the meantime... Feel free to refer to the threads where this is already being discussed:

4 Likes

I hope this is fixed for now, I disabled the Squid caching. It caused to use "old" packages, resulting in a checksum mismatch afterwards. I'm investigating how the Squid configuration could be improved. If anyone reading this knows things around Squid, please help me with the configuration.

17 Likes

Problems are not gone.

STDERR:

Generate local signing keys... 
Generate local certificate... 
Package list missing or not up-to-date, generating it. 
Building package index... 
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/x86/geode/packages/Packages.gz 
Updated list of available packages in /builder/build_dir/target-i386_pentium-mmx_musl/root-x86/../../../../builder/dl/openwrt_core 
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/x86/geode/packages/Packages.sig 
Signature check passed. 
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/i386_pentium-mmx/base/Packages.gz 
Updated list of available packages in /builder/build_dir/target-i386_pentium-mmx_musl/root-x86/../../../../builder/dl/openwrt_base 
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/i386_pentium-mmx/base/Packages.sig 
Signature check passed. 
.
.
.
Downloading file:packages/Packages 
Updated list of available packages in /builder/build_dir/target-i386_pentium-mmx_musl/root-x86/../../../../builder/dl/imagebuilder 
Downloading file:packages/Packages.sig 
Signature check passed. 
Collected errors:
 * opkg_install_cmd: Cannot install package libavahi-compat-libdnssd
make[2]: *** [Makefile:234: package_install] Error 255 
make[1]: *** [Makefile:171: _call_manifest] Error 2 
make: *** [Makefile:349: manifest] Error 2

I'm not sure that this is a related issue...

I don't think this package exists anymore. avahi does, but this particular package seems to be missing and/or dropped.

After deleting the package ( couldn't this done by the upgrade?), there are possible memory errors signaled.
Doesn't ASU function with my ALIX (256MB) system?

It should... sounds like you have other issues. This would be good for a new thread since it doesn't appear to be related to the topic of this one.

Hi! I've been playing with OpenWRT 24.10.0 on an OpenWRT One and so far I've had great luck. Thank you so much to the OpenWRT team for all the hard work!

This evening, with a stock install of 24.10.0 on the OpenWRT One, I tried running this command:

opkg update
opkg install screen tmux luci-ssl python3 openssh-sftp-server

And I started to get these messages:

Collected errors:
 * opkg_install_pkg: Checksum or size mismatch for package screen. Either the opkg or the package index are corrupt. Try 'opkg update'.
 * opkg_install_cmd: Cannot install package screen.
 * opkg_install_pkg: Checksum or size mismatch for package tmux. Either the opkg or the package index are corrupt. Try 'opkg update'.
 * opkg_install_cmd: Cannot install package tmux.
 * opkg_install_pkg: Checksum or size mismatch for package libffi. Either the opkg or the package index are corrupt. Try 'opkg update'.
 * opkg_install_cmd: Cannot install package python3.
 * opkg_install_pkg: Checksum or size mismatch for package openssh-sftp-server. Either the opkg or the package index are corrupt. Try 'opkg update'.
 * opkg_install_cmd: Cannot install package openssh-sftp-server.

The errors seem similar to those described in this thread, but the thread seems to be specific to custom images - which I am not running. Are they a symptom of the same root issue? Is there a way around the problem such that I can install these packages? I don't seem to be experiencing any other network-related problems that could explain these errors.

Thank you in advance!

Sort of... It seems to be a delay between deployment of the package indexes and the corresponding packages, either one being updated while the other is older will give the same "checksum or size mismatch".

I believe what you are seeing here is what I describe at the bottom of this comment: Owut: OpenWrt Upgrade Tool - #535 by efahl, i.e., you are in that rsync window where things are not fully available yet.

These same symptoms were being generated by the ASU server caching the package indexes, so that there was an artificial delay between their being updated on the downloads server and what the ASU image builders were seeing.

Quite probably just waiting a bit for the build results to be fully populated on the downloads server. (This might also depend on where you are on the planet, and how long it takes for your local CDN endpoints to get the new/consistent files.)

If this persists for more than 8-10 hours, I'd say something is broken upstream, so try again and let us know either way.

1 Like

Ah! That explanation makes perfect sense, thank you. I'll give it another try in the morning and report back. Thank you for your quick answer!

1 Like

it works for me. thanks for your effort guys

I have been trying to upgrade my Bananapi BPi-R4 from 24.10.0 to SNAPSHOT using the Firmware Selector custom image tool since Thurday AM (GMT).
I successfully upgraded my bthh5 on the first attempt.
The server appears to successfully create an image, but the ouput page still shows all the radio buttons between "Request Build" and "Sysupgrade", though the checksum shown does change.
I also tried this with the default package list, getting the same result.

Instead of downloading a file, the "Sysupgrade" button opens the page:
https://sysupgrade.openwrt.org/store/a68ecc4e9ee892beb23ba31023886f320434ec511ff75b4eeab559da6a6260c8/openwrt-48a00ec7cb59-mediatek-filogic-bananapi_bpi-r4-squashfs-sysupgrade.itb

This page is full of text such as:

��������8��
 ���(�������������������������������������������������fg�+e������)����ARM64 OpenWrt FIT (Flattened Image Tree)�������������������images�����kernel-1���������������[�n���������v����������e����ARM64 OpenWrt Linux-6.6.77��������a��� kernel�����������%arm64������������*linux������������-gzip�������������9F������������>F������hash-1�����������p�������������Dcrc32���������hash-2�����������p�k_����'��5ted��TC����������Dsha1�������������fdt-1����������������R���������v�[��������/����ARM64 OpenWrt bananapi_bpi-r4 device tree blob����������� flat_dt����������9E������������%arm64������������-none�������hash-1�����������pDa�����������Dcrc32���������hash-2�����������p�o蒇�M�ODi�s�iS���������Dsha1�������������fdt-mt7988a-bananapi-bpi-r4-emmc����������������
���������v�\��������O����ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-emmc����������� flat_dt����������%arm64������������-none�������hash-1�����������p������������Dcrc32���������hash-2�����������p�1Qf����p|��?�������������Dsha1�������������fdt-mt7988a-bananapi-bpi-r4-rtc����������������������v�\��������N����ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-rtc������������ flat_dt����������%arm64������������-none�������hash-1�����������p�������������Dcrc32���������hash-2�����������p4;�f�h�_���p�Z����������Dsha1�������������fdt-mt7988a-bananapi-bpi-r4-sd������������������������v�\��������M����ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-sd������������� flat_dt����������%arm64������������-none�������hash-1�����������p�-�Z���������Dcrc32���������hash-2�����������p����l����(@ B���������Dsha1�������������fdt-mt7988a-bananapi-bpi-r4-wifi-mt7996a��������������������������v�\��������W����ARM64 OpenWrt bananapi_bpi-r4 device tree overlay mt7988a-bananapi-bpi-r4-wifi-mt7996a����������� flat_dt����������%arm64������������-none�������hash-1�����������p�`y����������Dcrc32���������hash-2�����������p��*��2$���A
��`�O���������Dsha1�������������rootfs-1����������������`����������v�\��������%����ARM64 OpenWrt bananapi_bpi-r4 rootfs������������� filesystem�����������%arm64������������-none�������hash-1�����������p)�F���������Dcrc32���������hash-2�����������p�^y͗�UZ�)X�²s�ca�Y���������Dsha1����������������configurations�����������Iconfig-mt7988a-bananapi-bpi-r4�����config-mt7988a-bananapi-bpi-r4������������OpenWrt bananapi_bpi-r4�������	���Qkernel-1�������������Xfdt-1���������	���\rootfs-1����������mt7988a-bananapi-bpi-r4-emmc����������=����OpenWrt bananapi_bpi-r4 overlay mt7988a-bananapi-bpi-r4-emmc����������!���Xfdt-mt7988a-bananapi-bpi-r4-emmc����������mt7988a-bananapi-bpi-r4-rtc�������<����OpenWrt bananapi_bpi-r4 overlay mt7988a-bananapi-bpi-r4-rtc������� ���Xfdt-mt7988a-bananapi-bpi-r4-rtc�������mt7988a-bananapi-bpi-r4-sd��������;����OpenWrt bananapi_bpi-r4 overlay mt7988a-bananapi-bpi-r4-sd�����������Xfdt-mt7988a-bananapi-bpi-r4-sd��������mt7988a-bananapi-bpi-r4-wifi-mt7996a����������E����OpenWrt bananapi_bpi-r4 overlay mt7988a-bananapi-bpi-r4-wifi-mt7996a����������)���Xfdt-mt7988a-bananapi-bpi-r4-wifi-mt7996a����������������	description�#address-cells�data�type�arch�os�compression�load�entry�algo�default�kernel�fdt�loadables�timestamp�value�data-offset�data-size����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{tTE�����C%&A��~$�3βJ^�a7�s|�����$����5#c�Ё�f��9G�I`t���,��dב���e����ϠbB$��~���&$���}�)��V����_U��ꦰ;���Mק��a�Gѹ)(�s!	� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �o����O#�k��_QL-+ܪѽ@��x�6�Po5V���7��s��D�nwh�J���k{���UDE���ږ�@��N�U��ի��T�Qɢ��GG/[�*�_��^���U���I+>�n�9��h}_�k���ԟ�N^��{:G�}\K�bO�e��R�yV�e�dX�a��i�Sh�n�N�B�J�m�$��(��aC�
�T*_;W@�ƽaY���b�eK�A:F�4�l���������˞+��C�����DΓ���C����w���"o!�K�\�3���c��|D�\W+d���W��O(�>z�5��U4[�2rA�!4#n_��Q,s����\����UJ�[&��a�^�a�^��\^o��ʳ�����*
Y�n```

I am not sure what to do next, as this is the third day of attempting the upgrade.

Right click/Save As, Download Link, whatever context menu option you have in front of you - to download and save the file.

You can then upload it through LuCi or SCP it to the device and run sysupgrade manually.

1 Like

The installation worked perfectly this morning. Thank you again, @efahl!

1 Like

I'm getting errors with both the squashfs and ext4 images from the firmware selector:

https://downloads.openwrt.org/releases/24.10.0/targets/rockchip/armv8/openwrt-24.10.0-rockchip-armv8-friendlyarm_nanopi-r5s-ext4-sysupgrade.img.gz

https://downloads.openwrt.org/releases/24.10.0/targets/rockchip/armv8/openwrt-24.10.0-rockchip-armv8-friendlyarm_nanopi-r5s-squashfs-sysupgrade.img.gz

sha256sum computes according to the provided hashes, but 7-zip and gzip both say there are problems at the end of the file.

refresh-patern . 5 0% 5 override-expires

dot can be made other regex to shorten eg index gz file cache life.

That is as expected. x86 and most breadboard images have that. There is meaningful data for the sysupgrade process attached to the end of the compressed archive.

You are meant to not decompress these and load them right into the sysupgrade process.
Only if you need to write an image to a new disk/sd-card, you need to uncompress the archive (and ignore the attached data error) to gain access to the img file.

1 Like

I'm trying to use the squashfs image with FriendlyWRT's eflasher tool, but it refuses to boot.
As I already have a bootable image on the eMMC, I have to hold in the Boot button to mask for booting from the SD card, but it's not working.
I was thinking maybe that's because the image from the Firmware Selector displayed this behaviour, but it seems not.
The boot process for the NanoPi R5S is a little flaky IMO.

I think I will have to flash FriendlyWRT 23.05 and use that to write OpenWrt 24.10 instead.