Owut: OpenWrt Upgrade Tool

hi,

i have an owut related issue not necessarily in owut so not sure if i should report here or else.

i have a OpenWrt 24.10.1, r28597-0425664679 x86 based system and doing opkg update && opkg install owut i get the below error messsage:

# opkg update
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/x86/64/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/x86/64/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/x86/64/kmods/6.6.86-1-af351158cfb5febf5155a3aa53785982/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading https://downloads.openwrt.org/releases/24.10.1/targets/x86/64/kmods/6.6.86-1-af351158cfb5febf5155a3aa53785982/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/telephony/Packages.sig
Signature check passed.

# opkg install owut
Installing owut (2025.05.12~8353c4e9-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/packages/owut_2025.05.12~8353c4e9-r1_all.ipk
Installing rpcd-mod-rpcsys (2024.09.17~9f4b86e7-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/base/rpcd-mod-rpcsys_2024.09.17~9f4b86e7-r1_x86_64.ipk
Installing attendedsysupgrade-common (9) to root...
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/packages/attendedsysupgrade-common_9_all.ipk
Installing ucode-mod-uclient (2024.10.22~88ae8f20-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/base/ucode-mod-uclient_2024.10.22~88ae8f20-r1_x86_64.ipk
Installing ucode-mod-uloop (2025.05.11~d5b3a9dc-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.1/packages/x86_64/base/ucode-mod-uloop_2025.05.11~d5b3a9dc-r1_x86_64.ipk
Configuring ucode-mod-uloop.
Configuring ucode-mod-uclient.
Configuring rpcd-mod-rpcsys.
Configuring attendedsysupgrade-common.
Configuring owut.

# owut
Runtime error: Unable to dlopen file '/usr/lib/ucode/uloop.so': Error relocating /usr/lib/ucode/uloop.so: ucv_resource_new_ex: symbol not found
In /usr/bin/owut, line 10, byte 34:

 `let PROG    = `${NAME}/${VERSION}`;`
  Near here -----------------------^


# owut help
Runtime error: Unable to dlopen file '/usr/lib/ucode/uloop.so': Error relocating /usr/lib/ucode/uloop.so: ucv_resource_new_ex: symbol not found
In /usr/bin/owut, line 10, byte 34:

 `let PROG    = `${NAME}/${VERSION}`;`
  Near here -----------------------^

Yeah, that's major issue. The ABI changed on the ucode libraries and our old friend opkg has no version constraints, so the ucode-mod-uloop package is now breaking things due to mixing versions.

Ideally, you could do an owut upgrade and it would be fixed, but owut is broken by this, so... :tired_face:

Do you perhaps have the LuCI ASU app on that device? It has no dependencies on those broken ucode mods, so it should work for a sysupgrade, which will pick up all the new ucode and it's mods properly thus fixing this issue.

(It might be possible to upgrade ucode and it's libraries, but that's very risky, so unless you have a good means for recovering from a brick, don't ask how.)

Full apk support is very nearly complete. Details above.

All of the code changes are merged, all upstream services have incorporated the changes (most notably ASU server), but the changes have yet to propagate through the builds for all devices. Here's how you can tell if your device is ready.

First, rpcd version 2025.06.22 or later must be available on your device.

$ apk update && apk list rpcd
rpcd-2024.12.02~cc9a471c-r1 ... bad! old pre-abiversion 
rpcd-2025.06.22~9389775c-r1 ... good! new contains abiversion handling

If you only see the 2024.12.02 version, you'll have to wait.

Second, the available imagebuilder must be at r30201 or later. As I'm writing this, most of them are new enough, but check first (I'm seeing 30208 on most of my builds today).

$ owut check
...
Version-to     SNAPSHOT r30208-1ce0eb5bf2 (kernel 6.12.34)
...

When both of these conditions are met you can upgrade one last time with the hackity hack hack mchackface:

missing=$(owut check -v | awk '/missing to-version/ {print $1}')

echo $missing
# Make sure the missing list looks right!
# Should be just 'lib*' entries...

owut upgrade -r "$missing"

Then we wait for the next ABI-versioned package to be built and see if it all works!

thanks for the explanation! i think i'll wait for a more stable ABI approach, i hope apk will solve this and till then i'll use my "working" method. thanks again.

Is it okay to do the forced update with these missing packages?

Last time I had only four missing packages and it was pretty clear I could proceed... Now it's a lot more.

Previously:

libblobmsg-json20240329 libjson-script20240329 libubox20240329 libubus20250102

Now:

root@OpenWrt:~# missing=$(owut check -v | awk '/missing to-version/ {print $1}')
 && echo $missing
ERROR: Checks reveal errors, do not upgrade
jansson4 libblobmsg-json20241219 libgcc1 libipset13 libiptext-nft0 libiptext0 libiptext6-0 libiwinfo20230701 libjson-c5 libjson-script20241219 libltdl7 liblua5.1.5 liblucihttp0 libmbedtls21 libmnl0 libncurses6 libnftnl11 libnl-tiny1 libubox20241219 libubus20250516 libuci20250120 libuclient20201210 libucode20230711 libustream-mbedtls20201210 libxtables12

This should be the last time I need to do this, because the next upgrade is past r30201 as you indicated. I'm currently on r30132-7e014bbe0b. (Linksys E8450 UBI on SNAPSHOT.)

Yes, that looks like what I'd expect for this first crossing of the border between non-abi-aware apk and It Now Works™. I forgot about jansson, it's probably the only non-lib-* named package with an ABI version.

When you should not upgrade:

The thing to look out for is something that is missing because it appears in the "package build failures" section of the output. If, for example, you're using knot-resolver and it shows up here with the "package installed locally, cannot upgrade" message, you should not upgrade, wait until that package is built successfully and try again.

$ owut check -v
...
There are currently package build failures for SNAPSHOT x86_64:
  Feed: packages
    augeas                Mon Jun 23 23:06:01 2025 - not installed
    domoticz              Tue Jun 24 04:09:52 2025 - not installed
    gummiboot             Mon Jun 23 23:59:24 2025 - not installed
    knot-resolver         Tue Jun 24 04:55:05 2025 - package installed locally, cannot upgrade
...
1 Like

Thanks for the guidance.

I'm concerned about this, now:

My output:

root@OpenWrt:~# apk -U list rpcd
rpcd-2024.12.02~cc9a471c-r1 aarch64_cortex-a53 {feeds/base/package/system/rpcd} (ISC) [installed]
rpcd-2024.12.02~cc9a471c-r1 aarch64_cortex-a53 {feeds/base/package/system/rpcd} (ISC)

Here's the full output of owut check -v if you have a chance to look, but I think it's good based on what you said:

root@OpenWrt:~# owut check -v
owut - OpenWrt Upgrade Tool 2025.05.12~8353c4e9-r1 (/usr/bin/owut)
ASU-Server     https://sysupgrade.openwrt.org
Upstream       https://downloads.openwrt.org
Target         mediatek/mt7622
Profile        linksys_e8450-ubi
Package-arch   aarch64_cortex-a53
Root-FS-type   squashfs
Sys-type       sysupgrade
Version-from   SNAPSHOT r30132-7e014bbe0b (kernel 6.6.93)
Version-to     SNAPSHOT r30208-1ce0eb5bf2 (kernel 6.6.94)
Build-FS-type  squashfs
Build-at       2025-06-23T11:30:15Z (~28 hours ago)
Image-prefix   openwrt-mediatek-mt7622-linksys_e8450-ubi
Image-URL      https://downloads.openwrt.org/snapshots/targets/mediatek/mt7622
Image-file     openwrt-mediatek-mt7622-linksys_e8450-ubi-squashfs-sysupgrade.itb
Installed      200 packages
Top-level      124 packages
Default         33 packages
User-installed  94 packages (top-level only)

Package version changes:
  base-files                      1661~7e014bbe0b                            1665~1ce0eb5bf2
  jansson4                        2.14-r3                                    missing to-version
  kmod-cfg80211                   6.6.93.6.12.6-r2                           6.6.94.6.12.6-r2
  kmod-crypto-acompress           6.6.93-r1                                  6.6.94-r1
  kmod-crypto-aead                6.6.93-r1                                  6.6.94-r1
  kmod-crypto-ccm                 6.6.93-r1                                  6.6.94-r1
  kmod-crypto-cmac                6.6.93-r1                                  6.6.94-r1
  kmod-crypto-crc32c              6.6.93-r1                                  6.6.94-r1
  kmod-crypto-ctr                 6.6.93-r1                                  6.6.94-r1
  kmod-crypto-gcm                 6.6.93-r1                                  6.6.94-r1
  kmod-crypto-geniv               6.6.93-r1                                  6.6.94-r1
  kmod-crypto-gf128               6.6.93-r1                                  6.6.94-r1
  kmod-crypto-ghash               6.6.93-r1                                  6.6.94-r1
  kmod-crypto-hash                6.6.93-r1                                  6.6.94-r1
  kmod-crypto-hmac                6.6.93-r1                                  6.6.94-r1
  kmod-crypto-manager             6.6.93-r1                                  6.6.94-r1
  kmod-crypto-null                6.6.93-r1                                  6.6.94-r1
  kmod-crypto-rng                 6.6.93-r1                                  6.6.94-r1
  kmod-crypto-seqiv               6.6.93-r1                                  6.6.94-r1
  kmod-crypto-sha3                6.6.93-r1                                  6.6.94-r1
  kmod-crypto-sha512              6.6.93-r1                                  6.6.94-r1
  kmod-gpio-button-hotplug        6.6.93-r5                                  6.6.94-r5
  kmod-hwmon-core                 6.6.93-r1                                  6.6.94-r1
  kmod-ip6tables                  6.6.93-r1                                  6.6.94-r1
  kmod-ipt-conntrack              6.6.93-r1                                  6.6.94-r1
  kmod-ipt-conntrack-extra        6.6.93-r1                                  6.6.94-r1
  kmod-ipt-core                   6.6.93-r1                                  6.6.94-r1
  kmod-ipt-ipopt                  6.6.93-r1                                  6.6.94-r1
  kmod-ipt-ipset                  6.6.93-r1                                  6.6.94-r1
  kmod-leds-gpio                  6.6.93-r1                                  6.6.94-r1
  kmod-lib-crc-ccitt              6.6.93-r1                                  6.6.94-r1
  kmod-lib-crc32c                 6.6.93-r1                                  6.6.94-r1
  kmod-lib-lzo                    6.6.93-r1                                  6.6.94-r1
  kmod-mac80211                   6.6.93.6.12.6-r2                           6.6.94.6.12.6-r2
  kmod-mt76-connac                6.6.93.2025.06.18~a17fbd3d-r1              6.6.94.2025.06.18~a17fbd3d-r1
  kmod-mt76-core                  6.6.93.2025.06.18~a17fbd3d-r1              6.6.94.2025.06.18~a17fbd3d-r1
  kmod-mt7615-common              6.6.93.2025.06.18~a17fbd3d-r1              6.6.94.2025.06.18~a17fbd3d-r1
  kmod-mt7615e                    6.6.93.2025.06.18~a17fbd3d-r1              6.6.94.2025.06.18~a17fbd3d-r1
  kmod-mt7622-firmware            6.6.93.2025.06.18~a17fbd3d-r1              6.6.94.2025.06.18~a17fbd3d-r1
  kmod-mt7915-firmware            6.6.93.2025.06.18~a17fbd3d-r1              6.6.94.2025.06.18~a17fbd3d-r1
  kmod-mt7915e                    6.6.93.2025.06.18~a17fbd3d-r1              6.6.94.2025.06.18~a17fbd3d-r1
  kmod-nf-conncount               6.6.93-r1                                  6.6.94-r1
  kmod-nf-conntrack               6.6.93-r1                                  6.6.94-r1
  kmod-nf-conntrack6              6.6.93-r1                                  6.6.94-r1
  kmod-nf-flow                    6.6.93-r1                                  6.6.94-r1
  kmod-nf-ipt                     6.6.93-r1                                  6.6.94-r1
  kmod-nf-ipt6                    6.6.93-r1                                  6.6.94-r1
  kmod-nf-log                     6.6.93-r1                                  6.6.94-r1
  kmod-nf-log6                    6.6.93-r1                                  6.6.94-r1
  kmod-nf-nat                     6.6.93-r1                                  6.6.94-r1
  kmod-nf-reject                  6.6.93-r1                                  6.6.94-r1
  kmod-nf-reject6                 6.6.93-r1                                  6.6.94-r1
  kmod-nfnetlink                  6.6.93-r1                                  6.6.94-r1
  kmod-nft-compat                 6.6.93-r1                                  6.6.94-r1
  kmod-nft-core                   6.6.93-r1                                  6.6.94-r1
  kmod-nft-fib                    6.6.93-r1                                  6.6.94-r1
  kmod-nft-nat                    6.6.93-r1                                  6.6.94-r1
  kmod-nft-offload                6.6.93-r1                                  6.6.94-r1
  kmod-nls-base                   6.6.93-r1                                  6.6.94-r1
  kmod-ppp                        6.6.93-r1                                  6.6.94-r1
  kmod-pppoe                      6.6.93-r1                                  6.6.94-r1
  kmod-pppox                      6.6.93-r1                                  6.6.94-r1
  kmod-slhc                       6.6.93-r1                                  6.6.94-r1
  kmod-thermal                    6.6.93-r1                                  6.6.94-r1
  kmod-usb-core                   6.6.93-r1                                  6.6.94-r1
  kmod-usb-xhci-hcd               6.6.93-r1                                  6.6.94-r1
  kmod-usb-xhci-mtk               6.6.93-r1                                  6.6.94-r1
  kmod-usb3                       6.6.93-r1                                  6.6.94-r1
  libblobmsg-json20241219         2024.12.19~3868f47c-r1                     missing to-version
  libgcc1                         14.3.0-r4                                  missing to-version
  libipset13                      7.21-r1                                    missing to-version
  libiptext-nft0                  1.8.10-r1                                  missing to-version
  libiptext0                      1.8.10-r1                                  missing to-version
  libiptext6-0                    1.8.10-r1                                  missing to-version
  libiwinfo20230701               2025.02.06~9cec6b4d-r1                     missing to-version
  libjson-c5                      0.18-r1                                    missing to-version
  libjson-script20241219          2024.12.19~3868f47c-r1                     missing to-version
  libltdl7                        2.4.7-r1                                   missing to-version
  liblua5.1.5                     5.1.5-r11                                  missing to-version
  liblucihttp0                    2023.03.15~9b5b683f-r1                     missing to-version
  libmbedtls21                    3.6.3-r2                                   missing to-version
  libmnl0                         1.0.5-r1                                   missing to-version
  libncurses6                     6.4-r2                                     missing to-version
  libnftnl11                      1.2.8-r1                                   missing to-version
  libnl-tiny1                     2025.03.19~c0df580a-r1                     missing to-version
  librrd1                         1.0.50-r6                                  1.0.50-r7
  libubox20241219                 2024.12.19~3868f47c-r1                     missing to-version
  libubus20250516                 2025.05.16~88e63250-r1                     missing to-version
  libuci20250120                  2025.01.20~16ff0bad-r1                     missing to-version
  libuclient20201210              2024.10.22~88ae8f20-r1                     missing to-version
  libucode20230711                2025.06.09~37ac8f11-r1                     missing to-version
  libustream-mbedtls20201210      2024.07.28~99bd3d2b-r1                     missing to-version
  libxtables12                    1.8.10-r1                                  missing to-version
  luci                            25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-app-firewall               25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-app-mwan3                  25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-app-package-manager        25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-app-statistics             25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-base                       25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-light                      25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-mod-admin-full             25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-mod-network                25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-mod-status                 25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-mod-system                 25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-proto-ipv6                 25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-proto-ppp                  25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-ssl                        25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  luci-theme-bootstrap            25.170.30418~affbd1b                       25.174.32320~2ea7e7f
  procd                           2025.05.31~59d22013-r1                     2025.06.19~cde025d5-r1
  procd-seccomp                   2025.05.31~59d22013-r1                     2025.06.19~cde025d5-r1
  procd-ujail                     2025.05.31~59d22013-r1                     2025.06.19~cde025d5-r1
  rpcd                            2024.12.02~cc9a471c-r1                     2025.06.22~9389775c-r1
  rpcd-mod-file                   2024.12.02~cc9a471c-r1                     2025.06.22~9389775c-r1
  rpcd-mod-iwinfo                 2024.12.02~cc9a471c-r1                     2025.06.22~9389775c-r1
  rpcd-mod-rpcsys                 2024.12.02~cc9a471c-r1                     2025.06.22~9389775c-r1
  rpcd-mod-ucode                  2024.12.02~cc9a471c-r1                     2025.06.22~9389775c-r1
  rrdtool1                        1.0.50-r6                                  1.0.50-r7
25 packages missing in target version, cannot upgrade
117 packages are out-of-date

Default package analysis:
  Default                         Provided-by
  libustream-mbedtls              libustream-mbedtls20201210
  nftables                        nftables-json

There are currently package build failures for SNAPSHOT aarch64_cortex-a53:
  Feed: packages
    augeas                        Tue Jun 24 00:17:22 2025 - not installed
    domoticz                      Tue Jun 24 02:35:23 2025 - not installed
    knot-resolver                 Tue Jun 24 03:07:37 2025 - not installed
    libpfring                     Mon Jun 23 23:45:46 2025 - not installed
    mpack                         Mon Jun 23 23:48:00 2025 - not installed
    openvswitch                   Tue Jun 24 02:22:27 2025 - not installed
    ovn                           Tue Jun 24 02:43:35 2025 - not installed
    python-augeas                 Tue Jun 24 02:47:58 2025 - not installed
    python-gevent                 Tue Jun 24 02:48:59 2025 - not installed
  Feed: routing
    cjdns                         Tue Jun 24 01:32:19 2025 - not installed
    oonf-dlep-proxy               Tue Jun 24 01:32:22 2025 - not installed
    oonf-dlep-radio               Tue Jun 24 01:32:24 2025 - not installed
  Feed: telephony
    asterisk                      Tue Jun 24 03:05:31 2025 - not installed
    asterisk-chan-dongle          Tue Jun 24 03:08:14 2025 - not installed
    asterisk-chan-sccp            Tue Jun 24 03:08:20 2025 - not installed
    asterisk-g72x                 Tue Jun 24 03:08:23 2025 - not installed
    asterisk-opus                 Tue Jun 24 03:08:54 2025 - not installed
    freeswitch                    Tue Jun 24 02:50:42 2025 - not installed
    freeswitch-mod-bcg729         Tue Jun 24 03:05:46 2025 - not installed
    freetdm                       Tue Jun 24 03:05:48 2025 - not installed
    miax                          Tue Jun 24 00:02:03 2025 - not installed
    rtpengine                     Tue Jun 24 03:12:39 2025 - not installed
    rtpproxy                      Tue Jun 24 02:12:10 2025 - not installed
    siproxd                       Tue Jun 24 00:47:02 2025 - not installed
    sofia-sip                     Tue Jun 24 02:12:09 2025 - not installed
  Feed: video
    cog                           Tue Jun 24 03:30:03 2025 - not installed
    qt5base                       Tue Jun 24 03:26:40 2025 - not installed
    qt5quick                      Tue Jun 24 03:26:35 2025 - not installed
    qt5quick-controls             Tue Jun 24 03:26:45 2025 - not installed
    qt5script                     Tue Jun 24 03:26:37 2025 - not installed
    qt5svg                        Tue Jun 24 03:26:41 2025 - not installed
    qt5translations               Tue Jun 24 03:57:11 2025 - not installed
    qt5virtualkeyboard            Tue Jun 24 03:57:11 2025 - not installed
    wpewebkit                     Tue Jun 24 03:29:57 2025 - not installed
Failures don't affect this device, details at
  https://downloads.openwrt.org/snapshots/faillogs/aarch64_cortex-a53/

ERROR: Checks reveal errors, do not upgrade
1 Like

That looks good to me! Make sure to back up your config and maybe take a snapshot of installed packages (owut list), and be ready to recover, but I think it should all work.

Oops, missed that, you're right. Wait a bit...

1 Like

Hold on, the apk list is wrong, you've got the new rpcd available, so go ahead...

Aha, I was bitten by apk -U, which doesn't always do what I think it should... Here's one that works (and edited above).

$ apk update && apk list rpcd
1 Like

Success!

Thank you for your work on owut, and for your kind help as always.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r30208-1ce0eb5bf2
 -----------------------------------------------------

So, beyond this update, I should be able to use owut as intended without any workarounds or hacks?

1 Like

That's the plan! Should we celebrate now, or wait a bit until we're a little more sure? :tada:

1 Like

could we include a link in owut and in forware-selector pointing to the last commit from openwrt-git, as suggested by efahl above?

Create a URL using this as a template, appending your desired hash as the value to the `h=` parameter, like this:

https://git.openwrt.org/?p=openwrt/openwrt.git;a=shortlog;h=9b777547be

Haha, great minds and all that, I was just playing with the exact same thought...

$ owut check
owut - OpenWrt Upgrade Tool %%VERSION%% (/root/bin/owut)
ASU-Server     https://sysupgrade.openwrt.org
Upstream       https://downloads.openwrt.org
Target         x86/64
Profile        generic
Package-arch   x86_64
Root-FS-type   ext4
Sys-type       combined-efi
Version-from   24.10-SNAPSHOT r28645-52d4559fe1 (kernel 6.6.89)
Version-to     24.10-SNAPSHOT r28738-63064db765 (kernel 6.6.93)
Build-commit   https://git.openwrt.org/?p=openwrt/openwrt.git;a=shortlog;h=63064db765
Build-FS-type  ext4
Build-at       2025-06-22T11:40:28Z (~54 hours ago)

Should be fairly easily duplicated in both Firmware Selector and LuCI app.

2 Likes

First time using owut. I set the storage size to be greater than my SD card size. User error :slight_smile:

Would it help users if there was a warning about the image size being set greater than the current rootfs size?

Also. I get the following when I run owut check

WARNING: There are 1 missing default packages, confirm this is expected before proceeding

However it doesn't say which package it's complaining about.

Thank you for your work on this

Yes, there are a lot of caveats that should be warned about when changing rootfs partition size, but I haven't spent the time to dig it out. There are a couple of issues related to this on record, https://github.com/efahl/owut/issues Each platform has weird nuance and there's just no general way I can find to take apart the partitions to determine their type, size, file system and all that. I think I discuss some issue here, too: https://openwrt.org/docs/guide-user/installation/sysupgrade.owut#expanding_root_file_system

Add a --verbose whenever something seems missing, owut can be pretty chatty about things:

$ owut check -v
...
Default package analysis:
  Default                        Provided-by
  dnsmasq                        dnsmasq-full
  kmod-drm-i915                  not installed
  kmod-dwmac-intel               user ignored
  libustream-mbedtls             user ignored
  nftables                       nftables-json
...

If you want that level of output all the time, just bump the value of verbosity to 1 in /etc/config/attendedsysupgrade, like this:

config owut 'owut'
        option verbosity      1
        option rootfs_size   '256'
#       option pre_install   '/etc/owut.d/pre-install.sh'
        option poll_interval  2000
        list   ignored_defaults 'kmod-dwmac-intel'
        list   ignored_defaults 'libustream-mbedtls'
2 Likes

Makes sense. I've corrected the config so all sorted now. Requesting the expanded image is much better than using a resizing script in uci-defaults.

The verbose option had the required info.

Thanks for your response and your work :smiley:

I'm getting this error trying to upgrade one of my routers using owut. The other one succeeded without issues. Is this a transient issue? The error says to try again later but as far as I understand this is a point release and the packages should have been built already and they won't be rebuilt daily like the development branch.

root@OpenWrt:~# owut upgrade
ASU-Server     https://sysupgrade.openwrt.org
Upstream       https://downloads.openwrt.org
Target         mediatek/filogic
Profile        xiaomi_mi-router-ax3000t
Package-arch   aarch64_cortex-a53
Version-from   24.10.0 r28427-6df0e3d02a (kernel 6.6.73)
Version-to     24.10.2 r28739-d9340319c6 (kernel 6.6.93)
100 packages are out-of-date
Request hash:
  76bc4ccd984cadc292c932706e188331a2b53957bc94820b4e6abea33ac51f37
--
Status:   Error: Impossible package selection
Progress:   0s total =   0s in queue +   0s in build

Build failed in   0s total =   0s in queue +   0s to build:
ASU server error =
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/rq/worker.py", line 1643, in perform_job
    return_value = job.perform()
                   ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rq/job.py", line 1359, in perform
    self._result = self._execute()
                   ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rq/job.py", line 1393, in _execute
    result = self.func(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/asu/build.py", line 252, in build
    report_error(job, "Impossible package selection")
  File "/app/asu/util.py", line 309, in report_error
    raise RuntimeError(msg)
RuntimeError: Impossible package selection

ASU server stderr =
Generate local signing keys...
Generate local certificate...
Package list missing or not up-to-date, generating it.

Building package index...
Downloading http://downloads.openwrt.org/releases/24.10.2/targets/mediatek/filogic/packages/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/openwrt_core
Downloading http://downloads.openwrt.org/releases/24.10.2/targets/mediatek/filogic/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/base/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/openwrt_base
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/base/Packages.sig
Signature check failed.
Remove wrong Signature file.
Downloading http://downloads.openwrt.org/releases/24.10.2/targets/mediatek/filogic/kmods/6.6.93-1-6a9e125268c43e0bae8cecb014c8ab03/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/openwrt_kmods
Downloading http://downloads.openwrt.org/releases/24.10.2/targets/mediatek/filogic/kmods/6.6.93-1-6a9e125268c43e0bae8cecb014c8ab03/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/luci/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/openwrt_luci
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/luci/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/packages/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/openwrt_packages
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/packages/Packages.sig
Signature check failed.
Remove wrong Signature file.
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/routing/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/openwrt_routing
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/routing/Packages.sig
Signature check failed.
Remove wrong Signature file.
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/telephony/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/openwrt_telephony
Downloading http://downloads.openwrt.org/releases/24.10.2/packages/aarch64_cortex-a53/telephony/Packages.sig
Signature check passed.
Downloading file:packages/Packages
Updated list of available packages in /builder/build_dir/target-aarch64_cortex-a53_musl/root-mediatek/../../../../builder/dl/imagebuilder
Downloading file:packages/Packages.sig
Signature check passed.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency ubox for fstools
 * pkg_hash_fetch_best_installation_candidate: Packages for fstools found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency netifd for base-files
 * pkg_hash_check_unresolved: cannot find dependency jsonfilter for base-files
 * pkg_hash_check_unresolved: cannot find dependency usign for base-files
 * pkg_hash_check_unresolved: cannot find dependency openwrt-keyring for base-files
 * pkg_hash_check_unresolved: cannot find dependency procd for base-files
 * pkg_hash_check_unresolved: cannot find dependency procd-seccomp for base-files
 * pkg_hash_check_unresolved: cannot find dependency busybox for base-files
 * pkg_hash_fetch_best_installation_candidate: Packages for base-files found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package base-files.
 * opkg_install_cmd: Cannot install package ca-bundle.
 * opkg_install_cmd: Cannot install package collectd-mod-cpu.
 * opkg_install_cmd: Cannot install package collectd-mod-cpufreq.
 * opkg_install_cmd: Cannot install package collectd-mod-interface.
 * opkg_install_cmd: Cannot install package collectd-mod-iwinfo.
 * opkg_install_cmd: Cannot install package collectd-mod-load.
 * opkg_install_cmd: Cannot install package collectd-mod-memory.
 * opkg_install_cmd: Cannot install package collectd-mod-network.
 * opkg_install_cmd: Cannot install package collectd-mod-rrdtool.
 * opkg_install_cmd: Cannot install package collectd-mod-thermal.
 * opkg_install_cmd: Cannot install package dnsmasq.
 * opkg_install_cmd: Cannot install package firewall4.
 * pkg_hash_check_unresolved: cannot find dependency eip197-mini-firmware for kmod-crypto-hw-safexcel
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-hw-safexcel found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package kmod-crypto-hw-safexcel.
 * pkg_hash_check_unresolved: cannot find dependency iw for kmod-cfg80211
 * pkg_hash_check_unresolved: cannot find dependency iwinfo for kmod-cfg80211
 * pkg_hash_check_unresolved: cannot find dependency wifi-scripts for kmod-cfg80211
 * pkg_hash_check_unresolved: cannot find dependency wireless-regdb for kmod-cfg80211
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-cfg80211 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency hostapd-common for kmod-mac80211
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-mac80211 found, but incompatible with the architectures configured
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-mt7915e:
 * 	iw
 * 	iwinfo
 * 	wifi-scripts
 * 	wireless-regdb
 * 	hostapd-common
 * opkg_install_cmd: Cannot install package kmod-mt7915e.
 * opkg_install_cmd: Cannot install package libustream-mbedtls.
 * opkg_install_cmd: Cannot install package logd.
 * pkg_hash_check_unresolved: cannot find dependency rpcd for rpcd-mod-luci
 * pkg_hash_check_unresolved: cannot find dependency libubox20240329 for rpcd-mod-luci
 * pkg_hash_check_unresolved: cannot find dependency libubus20250102 for rpcd-mod-luci
 * pkg_hash_check_unresolved: cannot find dependency libnl-tiny1 for rpcd-mod-luci
 * pkg_hash_fetch_best_installation_candidate: Packages for rpcd-mod-luci found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency libucode20230711 for ucode-mod-html
 * pkg_hash_fetch_best_installation_candidate: Packages for ucode-mod-html found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency libucode20230711 for liblucihttp-ucode
 * pkg_hash_fetch_best_installation_candidate: Packages for liblucihttp-ucode found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency rpcd for luci-base
 * pkg_hash_check_unresolved: cannot find dependency rpcd-mod-file for luci-base
 * pkg_hash_check_unresolved: cannot find dependency rpcd-mod-ucode for luci-base
 * pkg_hash_check_unresolved: cannot find dependency cgi-io for luci-base
 * pkg_hash_check_unresolved: cannot find dependency ucode for luci-base
 * pkg_hash_check_unresolved: cannot find dependency ucode-mod-fs for luci-base
 * pkg_hash_check_unresolved: cannot find dependency ucode-mod-uci for luci-base
 * pkg_hash_check_unresolved: cannot find dependency ucode-mod-ubus for luci-base
 * pkg_hash_check_unresolved: cannot find dependency ucode-mod-math for luci-base
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-base found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency uci-firewall for luci-app-firewall
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-app-firewall found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency libiwinfo20230701 for luci-mod-status
 * pkg_hash_check_unresolved: cannot find dependency rpcd-mod-iwinfo for luci-mod-status
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-mod-status found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency rpcd-mod-iwinfo for luci-mod-network
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-mod-network found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency rpcd for rpcd-mod-rrdns
 * pkg_hash_check_unresolved: cannot find dependency libubox20240329 for rpcd-mod-rrdns
 * pkg_hash_check_unresolved: cannot find dependency libubus20250102 for rpcd-mod-rrdns
 * pkg_hash_fetch_best_installation_candidate: Packages for rpcd-mod-rrdns found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency uhttpd for luci-light
 * pkg_hash_check_unresolved: cannot find dependency uhttpd-mod-ubus for luci-light
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-light found, but incompatible with the architectures configured
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci:
 * 	rpcd
 * 	rpcd-mod-file
 * 	rpcd
 * 	libubox20240329
 * 	libubus20250102
 * 	libnl-tiny1
 * 	rpcd-mod-ucode
 * 	cgi-io
 * 	ucode
 * 	ucode-mod-fs
 * 	ucode-mod-uci
 * 	ucode-mod-ubus
 * 	ucode-mod-math
 * 	libucode20230711
 * 	uci-firewall
 * 	libiwinfo20230701
 * 	rpcd-mod-iwinfo
 * 	rpcd
 * 	libubox20240329
 * 	libubus20250102
 * 	uhttpd
 * 	uhttpd-mod-ubus
 * opkg_install_cmd: Cannot install package luci.
 * pkg_hash_check_unresolved: cannot find dependency collectd for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency rrdtool1 for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency collectd-mod-rrdtool for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency collectd-mod-iwinfo for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency collectd-mod-cpu for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency collectd-mod-memory for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency collectd-mod-interface for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency collectd-mod-load for luci-app-statistics
 * pkg_hash_check_unresolved: cannot find dependency collectd-mod-network for luci-app-statistics
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-app-statistics found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package luci-app-statistics.
 * pkg_hash_check_unresolved: cannot find dependency libustream-mbedtls20201210 for luci-ssl
 * pkg_hash_check_unresolved: cannot find dependency px5g-mbedtls for luci-ssl
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-ssl found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package luci-ssl.
 * opkg_install_cmd: Cannot install package mt7981-wo-firmware.
 * pkg_hash_check_unresolved: cannot find dependency libubox20240329 for mtd
 * pkg_hash_fetch_best_installation_candidate: Packages for mtd found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package mtd.
 * opkg_install_cmd: Cannot install package odhcp6c.
 * opkg_install_cmd: Cannot install package odhcpd-ipv6only.
 * opkg_install_cmd: Cannot install package opkg.
 * opkg_install_cmd: Cannot install package owut.
 * opkg_install_cmd: Cannot install package ppp.
 * opkg_install_cmd: Cannot install package ppp-mod-pppoe.
 * opkg_install_cmd: Cannot install package procd-ujail.
 * opkg_install_cmd: Cannot install package uci.
 * opkg_install_cmd: Cannot install package urandom-seed.
 * opkg_install_cmd: Cannot install package urngd.
 * opkg_install_cmd: Cannot install package wpad-basic-mbedtls.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for base-files:
 * 	netifd
 * 	jsonfilter
 * 	usign
 * 	openwrt-keyring
 * 	ubox
 * 	procd
 * 	procd-seccomp
 * 	busybox
 * opkg_install_cmd: Cannot install package base-files.
 * opkg_install_cmd: Cannot install package ca-bundle.
 * opkg_install_cmd: Cannot install package dnsmasq.
 * opkg_install_cmd: Cannot install package firewall4.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-crypto-hw-safexcel:
 * 	eip197-mini-firmware
 * opkg_install_cmd: Cannot install package kmod-crypto-hw-safexcel.
 * opkg_install_cmd: Cannot install package libustream-mbedtls.
 * opkg_install_cmd: Cannot install package logd.
 * opkg_install_cmd: Cannot install package mt7981-wo-firmware.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for mtd:
 * 	libubox20240329
 * opkg_install_cmd: Cannot install package mtd.
 * opkg_install_cmd: Cannot install package odhcp6c.
 * opkg_install_cmd: Cannot install package odhcpd-ipv6only.
 * opkg_install_cmd: Cannot install package opkg.
 * opkg_install_cmd: Cannot install package ppp.
 * opkg_install_cmd: Cannot install package ppp-mod-pppoe.
 * opkg_install_cmd: Cannot install package procd-ujail.
 * opkg_install_cmd: Cannot install package uci.
 * opkg_install_cmd: Cannot install package urandom-seed.
 * opkg_install_cmd: Cannot install package urngd.
 * opkg_install_cmd: Cannot install package wpad-basic-mbedtls.
make[2]: *** [Makefile:234: package_install] Error 255
make[1]: *** [Makefile:171: _call_manifest] Error 2
make: *** [Makefile:349: manifest] Error 2

ERROR: Build failed with status 500
The above errors are often due to the upgrade server lagging behind the
build server, first suggestion is to wait a while and try again.

Yes, that looks like there was breakage or incomplete build for packages. It's most likely that the indexes were in process, which I deduce from the Signature check failed (index still being created, signature not yet updated).

The service release images are static and only built once, but packages are "rolling release", built continuously (excluding kmods and a few other kernel-locked ones). That's why you see updated versions if you do owut check -v every few days.

1 Like

Thanks for the clarification on the package builds. The owut upgrade was successful today.

1 Like