If you're using squashfs without a lot of big packages, that looks about right. Most everything is still in /rom
when you first do your upgrade, and the overlay is quite empty (mostly just the stuff in /etc/config
).
Hi @efahl
Thanks so much for your reply — I really appreciate the time and clarity. I had no idea that opkg upgrade
carried that kind of risk, and I’ve been using it frequently without realizing how it could cause inconsistencies or even brick the system. I’ll definitely stop doing that going forward!
I have a Linksys MR8300 that uses dual partitions. One currently runs OpenWrt 24.10.1 and works flawlessly. The other has 23.05, and I’d like to upgrade that one to 24.10.2 while keeping my 24.10.1 setup intact as fallback.
My goal is to:
- Use the config and package setup from 24.10.1
- Flash 24.10.2 to the inactive partition
- Ensure it's fully functional and bootable before relying on it
- Preserve the current 24.10.1 partition as a battle-tested rollback option
Would you or anyone else be able to guide me on how to best approach this with the Attended Sysupgrade system? I’ve seen the Firmware Selector and LuCI ASU mentioned, but I’m unsure how to tie it into a dual-partition setup correctly.
Thanks again!
Ah yes, I’m using squashfs. Thank you for your informative reply. It makes more sense now.
My read of those installation instructions make it sound like it automatically switches back and forth between partitions on each sysupgrade. Further reading makes me think there's no way (well, no easy way at least) to suppress this behavior.
Thanks a lot for taking the time to read the manual and reply — I really appreciate it. I wasn’t aware of the automatic partition switching behavior during sysupgrade, and your comment helped clarify that. I’ve been using the MR8300’s dual partitions to keep a stable fallback, so this is important to me.
I’ve now built a custom 24.10.2 image using the Firmware Selector with all my current packages. My plan is to manually flash it to the inactive partition (currently 23.05) while keeping my working 24.10.1 setup untouched.
Here’s what I’m doing:
- Backed up my config from 24.10.1
- Transferred the custom image to the router
- Planning to reboot into partition 1 (23.05) and flash manually via CLI
- Will restore my config after flashing
Hopefully this gives me a fully functional 24.10.2 setup with my current settings, while keeping 24.10.1 as a fallback in case anything goes wrong.
Hey @efahl, just wanted to say I learned something new today. I’d only ever done factory flashes before, but turns out LuCI’s Attended Sysupgrade does exactly what I needed — upgrades to the inactive partition, keeps config, and boom, I’m on 24.10.2 with my setup intact.
Big thanks for pointing me in the right direction!
So I would suggest removing the tailscaled package, adding the upstream binary, and mentioning it (together with any configs and state files) in /etc/sysupgrade.conf, so that it is preserved on upgrades.
LuCI upgrade a Linksys E7350 (MT7621) from 24.10.1 to 24.10.2 did boot, but network didn't work properly, and /etc/config/wireless
disappeared (wifi config
got an empty file).
Fortunately flashing 24.10.1 sysupgrade image (without keeping settings) brought everything back.
I've just updated a Zyxel GS1900-8HP v2 Switch (set as basic switch, firewall off, running multiple VLANs) and Ubiquiti UniFi 6 LR v1 (set as dumb AP, firewall & dnsmasq & odhcpd off, running multiple VLANs) using the image builder because I've set some nice guidance for myself with that. All went smoothly.
The only issue is on the Unifi the following packages caused the image builder to error so I had to remove them:
luci-app-statistics
nano
(I'll copy the full errors below, but no need for reply just including in case it raises issues for anyone else)
No great shakes. I've also built the image for my Flint2 (main router and firewall), but am saving installing that for a few days to make sure the other devices run smooth first. Interestingly Flint2 image ran with nano and luci-app-statistics packages included.
Thanks Devs and Contributors, you're legends 
Full errors relating to packages that failed in image builder for Unifi target:
Collected errors:
* opkg_install_cmd: Cannot install package collectd-mod-thermal.
* pkg_hash_check_unresolved: cannot find dependency cgi-io for luci-base
* pkg_hash_fetch_best_installation_candidate: Packages for luci-base found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for luci:
* cgi-io
* 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.
* opkg_install_cmd: Cannot install package nano.
make[2]: *** [Makefile:234: package_install] Error 255
make[1]: *** [Makefile:161: _call_image] Error 2
make: *** [Makefile:337: image] Error 2
Looks like you hit the all too common window in which some package or index was being deployed. I just did some local builds for your target (owut download --device realtek/rtl838x:zyxel,gs1900-8hp-v2
) adding those packages, and the builds ran fine and included them. In case you haven't already done it, you might want to just opkg install
them.
Updated 2x MT6000, 1x Beryl MX3000, 1x RT3200 without any problems (Failover[mwan3], WG+DDNS, AGH, banip).
Great devices,
great operating system,
world-class support!!!
!!Thank you to all those who are committed to such a wonderful system!!
Neuro
Xiaomi router 3g
Issues with 5g wifi band
Slows down and drops after a while
I have three Sitecom devices: one WLR-7100 v1.001, one WLR-8100 v2.001 and one WLR-8100 v1.001
Attended Sysupgrade from 24.10.1 to 24.10.2 works on all for the first time.
All use the Ath10k chipset but the 5GHz WiFi is functional on ALL three.
Great job to the developers maintaining these Sitecoms (not the most used openwrt capable devices) supported without issues.
Edit: 9 days stable.
Thanks once again to all devs and testers!
Locally built with imagebuilder
for ath79
target (Buffalo WZR-HP-AG300H):
make image PROFILE=buffalo_wzr-hp-ag300h PACKAGES="luci-ssl htop mtr tcpdump wpad-mbedtls -wpad-basic-mbedtls"
Upgrade keeping config from 24.10.1 went fine. The router (configured as a dumb bridge between wired and a 802.11s mesh interface and some VLAN configuration on top of that) joins the mesh and all seems to work. I do however notice this which I don't remember seeing before:
[ 129.002157] br-lan: port 2(wl-xxxx.5) entered forwarding state
[ 130.286994] ------------[ cut here ]------------
[ 130.291629] WARNING: CPU: 0 PID: 254 at backports-6.12.6/net/mac80211/main.c:408 0x82a02a50 [mac80211@4656a888+0x8a000]
[ 130.302524] Modules linked in: ath9k(O) ath9k_common(O) pppoe ppp_async nft_fib_inet nf_flow_table_inet ath9k_hw(O) ath(O) pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mac80211(O) cfg80211(O) ath9k_pci_owl_loader(O) slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c crc_ccitt compat(O) ledtrig_usbport sha512_generic seqiv sha3_generic jitterentropy_rng drbg hmac geniv rng cmac ohci_platform ohci_hcd fsl_mph_dr_of ehci_platform ehci_fsl ehci_hcd gpio_button_hotplug(O) phy_ar7200_usb phy_ar7100_usb usbcore nls_base usb_common crc32c_generic
[ 130.374377] CPU: 0 PID: 254 Comm: kworker/u2:4 Tainted: G O 6.6.93 #0
[ 130.382218] Workqueue: events_unbound 0x82880338 [cfg80211@65841212+0x46000]
[ 130.389306] Stack : 00000000 8075a464 81a7fd2c 829201f0 00000000 00000000 00000000 00000000
[ 130.397677] 00000000 00000000 00000000 00000000 00000000 00000001 81a7fce8 848e2e40
[ 130.406050] 81a7fd80 00000000 00000000 81a7fc10 00000038 80702fe4 00000000 ffffffea
[ 130.414424] 000000e9 81a7fc1c 000000e9 807fb720 8071ca34 81a7fcc8 00000000 82a02a50
[ 130.422797] 00000009 829201f0 81b7cf50 61c88647 00000018 803d16cc 00000000 809b0000
[ 130.431170] ...
[ 130.433611] Call Trace:
[ 130.433768] [<80702fe4>] 0x80702fe4
[ 130.439755] [<82a02a50>] 0x82a02a50 [mac80211@4656a888+0x8a000]
[ 130.445755] [<803d16cc>] 0x803d16cc
[ 130.449299] [<800661e8>] 0x800661e8
[ 130.452783] [<800661f0>] 0x800661f0
[ 130.456264] [<806d99a4>] 0x806d99a4
[ 130.459774] [<800849b0>] 0x800849b0
[ 130.463288] [<82a02a50>] 0x82a02a50 [mac80211@4656a888+0x8a000]
[ 130.469239] [<80084a40>] 0x80084a40
[ 130.472767] [<82a02a50>] 0x82a02a50 [mac80211@4656a888+0x8a000]
[ 130.478719] [<82a7d2e4>] 0x82a7d2e4 [mac80211@4656a888+0x8a000]
[ 130.484841] [<828803ec>] 0x828803ec [cfg80211@65841212+0x46000]
[ 130.490832] [<8009ece0>] 0x8009ece0
[ 130.494376] [<8009ed9c>] 0x8009ed9c
[ 130.498148] [<8009f35c>] 0x8009f35c
[ 130.501627] [<8009efc4>] 0x8009efc4
[ 130.505136] [<800a6738>] 0x800a6738
[ 130.508674] [<8009efc4>] 0x8009efc4
[ 130.512185] [<800a6738>] 0x800a6738
[ 130.515672] [<800a6834>] 0x800a6834
[ 130.519153] [<800a6738>] 0x800a6738
[ 130.522663] [<800a6738>] 0x800a6738
[ 130.526178] [<800619f8>] 0x800619f8
[ 130.529678]
[ 130.531733] ---[ end trace 0000000000000000 ]---
Hi,
I'm trying to update a WRT3200ACM via ASU and I'm getting some package errors:
Collected errors:
* opkg_install_cmd: Cannot install package cgi-io.
* opkg_install_cmd: Cannot install package curl.
* opkg_install_cmd: Cannot install package htop.
* opkg_install_cmd: Cannot install package iperf3.
* opkg_install_cmd: Cannot install package jq.
* opkg_install_cmd: Cannot install package liblucihttp.
* opkg_install_cmd: Cannot install package liblucihttp-lua.
* opkg_install_cmd: Cannot install package logrotate.
* opkg_install_cmd: Cannot install package luci.
* opkg_install_cmd: Cannot install package luci-app-adblock.
* opkg_install_cmd: Cannot install package luci-app-attendedsysupgrade.
* opkg_install_cmd: Cannot install package luci-lib-base.
* opkg_install_cmd: Cannot install package luci-proto-wireguard.
* opkg_install_cmd: Cannot install package luci-theme-material.
* opkg_install_cmd: Cannot install package luci-theme-openwrt.
* opkg_install_cmd: Cannot install package luci-theme-openwrt-2020.
* opkg_install_cmd: Cannot install package nmap-full.
* opkg_install_cmd: Cannot install package qrencode.
* opkg_install_cmd: Cannot install package speedtestcpp.
make[2]: *** [Makefile:234: package_install] Error 255
make[1]: *** [Makefile:171: _call_manifest] Error 2
make: *** [Makefile:349: manifest] Error 2
I don't know what to make of this or how to proceed.
You may wait some time, because there seems to be some problems with the package lists. Someone ™ will fix that
Yes, indeed. It's working now, I was able to upgrade to 24.10.2. I'm not sure if this is relevant, but when this problem occurred, I had first accidentally requested a 24.10.1 image, which I also got, but noticing my mistake I bailed out without proceeding to install it. Then immediately after that I made a request for a 24.10.2 image which then failed with the package errors.
Anyway, upgraded all of my 3 devices:
- WRT3200ACM
- D-Link DIR-825 B2
- ZyXEL NWA50AX Pro
Everything seems to be working fine. A big thank you again to all involved in making this happen!
Upgraded my Linksys WRT3200ACM from 23.05.5 to 24.10.2 using LuCI. The process was seamless, and the router is running fine. Thank you to the developers and testers!
OWUT failed for upgrading Zyxel GS1900-10HP from 24.10.1 to 24.10.2.:
Runtime error: Unable to dlopen file '/usr/lib/ucode/uloop.so': Error relocating /usr/lib/ucode/uloop.so: ucv_resource_value_get: symbol not found
In /usr/bin/owut, line 10, byte 34:
let PROG =
${NAME}/${VERSION};
Near here -----------------------^
Are you able to reboot from GUI or SSH? I just found out that both reboot (in both GUI and SSH) and poweroff do not work. It seems to be completely ignored by SSH, and redirects to the GUI status page if issued from GUI. The only way to reboot, is the physical power button for me. All other aspects of the router seems working fine for me.