Difference betwen builds using Attended Sysupgrade vs firmware selector web page

First I moved to 25.12.0 this weekend, thank you for all the people who make this possible

I tested the Attended Sysupgrade and firmware-selector web page and I noticed the (md5sum) was different

b9d9d7d89e312d000e0001daf184e354  openwrt-25.12.0-0ac023e0c199-mediatek-filogic-cudy_wr3000-v1-squashfs-sysupgrade.bin
0e4dadecc122f71b9374d80620b6cc3f  openwrt-25.12.0-13f637bae6db-mediatek-filogic-cudy_wr3000-v1-squashfs-sysupgrade.bin
% binwalk openwrt-25.12.0-0ac023e0c199-mediatek-filogic-cudy_wr3000-v1-squashfs-sysupgrade.bin

                         openwrt-25.12.0-0ac023e0c199-mediatek-filogic-cudy_wr3000-v1-squashfs-sysupgrade.bin
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DECIMAL                            HEXADECIMAL                        DESCRIPTION
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0                                  0x0                                Device tree blob (DTB), version: 17, CPU ID: 0, total size: 4323008 bytes
4325376                            0x420000                           SquashFS file system, little endian, version: 4.0, compression: xz, inode count: 1259, block size: 
                                                                      262144, image size: 5322392 bytes, created: 2026-03-03 00:14:15
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Analyzed 1 file for 85 file signatures (187 magic patterns) in 8.0 milliseconds

 % binwalk openwrt-25.12.0-13f637bae6db-mediatek-filogic-cudy_wr3000-v1-squashfs-sysupgrade.bin 

                         openwrt-25.12.0-13f637bae6db-mediatek-filogic-cudy_wr3000-v1-squashfs-sysupgrade.bin
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DECIMAL                            HEXADECIMAL                        DESCRIPTION
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0                                  0x0                                Device tree blob (DTB), version: 17, CPU ID: 0, total size: 4323008 bytes
4325376                            0x420000                           SquashFS file system, little endian, version: 4.0, compression: xz, inode count: 1230, block size: 
                                                                      262144, image size: 5277570 bytes, created: 2026-03-03 00:14:15
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Analyzed 1 file for 85 file signatures (187 magic patterns) in 13.0 milliseconds

Ok so yeah there is a diff in bytes 5322392 (Using the Attended Sysupgrade) method vs 5277570 (using firmware-selector) web page

So I mount each SquashFS using the the first character of the 0ac023e0c199 and 13f637bae6db
(0) is the one using Attended Sysupgrade method the (1) is the firmware-selector page

sudo diff -r rootfs_0/ rootfs_1/  |grep -i ^Only 
diff: rootfs_0/etc/localtime: No such file or directory
Only in rootfs_0/etc: opkg
Only in rootfs_0/etc: owut.d
diff: rootfs_0/etc/ppp/resolv.conf: No such file or directory
diff: rootfs_0/etc/resolv.conf: No such file or directory
diff: rootfs_0/etc/TZ: No such file or directory
Only in rootfs_0/etc/uci-defaults: 50-attendedsysupgrade
Only in rootfs_0/etc/uci-defaults: 51-attendedsysupgrade-owut
Only in rootfs_0/etc/uci-defaults: 95-luci-app-attendedsysupgrade-housekeeping
Only in rootfs_0/lib/apk/packages: attendedsysupgrade-common.list
Only in rootfs_0/lib/apk/packages: luci-app-attendedsysupgrade.list
Only in rootfs_0/lib/apk/packages: luci-ssl.list
Only in rootfs_0/lib/apk/packages: owut.conffiles
Only in rootfs_0/lib/apk/packages: owut.list
Only in rootfs_0/lib/apk/packages: px5g-mbedtls.list
Only in rootfs_0/lib/apk/packages: rpcd-mod-rpcsys.list
Only in rootfs_0/lib/apk/packages: ucode-mod-uclient.list
Only in rootfs_0/lib/upgrade/keep.d: owut
Only in rootfs_0/lib64/apk/packages: attendedsysupgrade-common.list
Only in rootfs_0/lib64/apk/packages: luci-app-attendedsysupgrade.list
Only in rootfs_0/lib64/apk/packages: luci-ssl.list
Only in rootfs_0/lib64/apk/packages: owut.conffiles
Only in rootfs_0/lib64/apk/packages: owut.list
Only in rootfs_0/lib64/apk/packages: px5g-mbedtls.list
Only in rootfs_0/lib64/apk/packages: rpcd-mod-rpcsys.list
Only in rootfs_0/lib64/apk/packages: ucode-mod-uclient.list
Only in rootfs_0/lib64/upgrade/keep.d: owut
diff: rootfs_0/sbin/insmod: No such file or directory
diff: rootfs_0/sbin/ip: No such file or directory
diff: rootfs_0/sbin/logread: No such file or directory
diff: rootfs_0/sbin/lsmod: No such file or directory
diff: rootfs_0/sbin/modinfo: No such file or directory
diff: rootfs_0/sbin/modprobe: No such file or directory
diff: rootfs_0/sbin/rmmod: No such file or directory
Only in rootfs_0/usr/bin: owut
diff: rootfs_0/usr/bin/scp: No such file or directory
diff: rootfs_0/usr/bin/ssh: No such file or directory
diff: rootfs_0/usr/bin/ssh-keygen: No such file or directory
diff: rootfs_0/usr/bin/wget: No such file or directory
Only in rootfs_0/usr/lib/rpcd: rpcsys.so
Only in rootfs_0/usr/lib/ucode: uclient.so
Only in rootfs_0/usr/lib64/rpcd: rpcsys.so
Only in rootfs_0/usr/lib64/ucode: uclient.so
Only in rootfs_0/usr/sbin: px5g
Only in rootfs_0/usr/share/luci/menu.d: luci-app-attendedsysupgrade.json
Only in rootfs_0/usr/share/rpcd/acl.d: luci-app-attendedsysupgrade.json
Only in rootfs_0/usr/share/ucode: utils
Only in rootfs_0/www/luci-static/resources/view: attendedsysupgrade
Only in rootfs_0/www/luci-static/resources/view/status/include: 11_upgrades.js

So my question is more like I should use the Attended Sysupgrade instead the firmware selector (when I add some packages to reduce the image size) or I should use the firmware selector web page ?

Why the difference between both methods ?

the alien string after version is build requests sha hash part....

smaller image has minimal luci, thus not including https or attended upgrade components.
there are some package transforms in attendedsysupgrade/aowut that do not apply to firmware-selector or local imagebuilder.

2 Likes