Hi there,
New question:, a bit of background Running OW on pc, with larger rootfs:
root@OW:~# df -Th
Filesystem Type Size Used Available Use% Mounted on
/dev/root ext4 470.8G 1.5G 469.3G 0% /
Previously all was set up 100% as v24, and chose to upgrade using the ASU (thinking it would auto-detect the special configuration and setup rootfs to match existing, OR ALERT and fail the upgrade), but instead, it wiped all rootfs content that was huge loss!!
So at that time quickly setup 25.12 rc3 :
DISTRIB_RELEASE='25.12.0-rc3'
DISTRIB_REVISION='r32486-30527a4c34'
DISTRIB_TARGET='x86/64'
DISTRIB_ARCH='x86_64'
DISTRIB_DESCRIPTION='OpenWrt 25.12.0-rc3 r32486-30527a4c34'
Now read that i should use owut that can handle different rootfs sizes (can it autodetect and just keep using the exact same layout automatically)?
however, running it failed with the ABI error:
# owut
Runtime error: Unable to dlopen file '/usr/lib/ucode/uclient.so': Error loading shared library libubox.so.20260213: No such file or directory (needed by /usr/lib/ucode/uclient.so)
In /usr/bin/owut, line 10, byte 34:
`let PROG = `${NAME}/${VERSION}`;`
Near here -----------------------^
Tried many suggestions like:
root@OW:~# apk upgrade ucode libucode
OK: 274.6 MiB in 277 packages
But it did not help, still same error, until ran:
apk add libubox-lua
That, SOLVED the error above, but, any check operation hangs indefinitely without any errors:
owut check -v
owut - OpenWrt Upgrade Tool 2026.04.09~5d6760b5-r1 (/usr/bin/owut)
running with 'strace' shows:
read(14, "\337\3531\246\345\317*%(\360\342\27\20j\24\205Y\202\224v>\241\321\226g\324\223%N\3400\252"..., 2389) = 2389
read(14, "\27\3\3\2+", 5) = 5
read(14, "\3152\266\23\304e\373\326\317\"mLU\211\277\350\237\207\212\370\237\352\231G\374\"\257Y\251\3102P"..., 555) = 555
read(14, "\27\3\3\20\21", 5) = 5
read(14, "\1\367\16\207\2314\320\375\326\33\277\345\332\246U\331\206\337\2f\373\331.f\367(\357&Oi\230\316"..., 4113) = 4113
epoll_ctl(7, EPOLL_CTL_MOD, 14, {events=EPOLLOUT|EPOLLET, data=0x7f1939358e28}) = 0
epoll_pwait(7, [{events=EPOLLOUT, data=0x7f1939358e28}], 10, -1, NULL, 8) = 1
it reads from socket and waits on some event that never happens
![]()
lrwx------ 1 root root 64 May 24 11:15 14 -> socket:[2410027]
l-wx------ 1 root root 64 May 24 11:16 15 -> /tmp/owut-overview.json
lrwx------ 1 root root 64 May 24 11:16 2 -> /dev/pts/0
lr-x------ 1 root root 64 May 24 11:16 3 -> pipe:[2408161]
l-wx------ 1 root root 64 May 24 11:16 4 -> pipe:[2408161]
lr-x------ 1 root root 64 May 24 11:16 5 -> /usr/bin/owut
lr-x------ 1 root root 64 May 24 11:16 6 -> /usr/share/ucode/utils/argparse.uc
lrwx------ 1 root root 64 May 24 11:16 7 -> anon_inode:[eventpoll]
any suggestion how to fix this or better yet, update to latest 25.12 official release without wiping out rootfs? I'm experienced linux user , but relatively new to openwrt eco..
Thanks for any suggestions!
PS: the router is fully connected, e.g.
# uclient-fetch -O /dev/null https://sysupgrade.openwrt.org
Downloading 'https://sysupgrade.openwrt.org'
Connecting to 45.140.183.87:443
Writing to '/dev/null'
/dev/null 100% |*******************************| 9273 0:00:00 ETA
Download completed (9273 bytes)
PS2: Reading more, I think i'll move away to a smaller rootfs, and separate data partition, that way future updates should be safer? it will retain the 3rd partition in the new image I assume/hope so ![]()