I was using 25.12 rc1 through rc5 to build some firmware with the imagebuilder for the newly supported GL iNet AX1800 Flint router. After 25.12 released, I've started trying to build my firmware using its imagebuilder. (So both the release candidates and the stable imagebuilders are for qualcommax ipq60xx.)
However, I found that when the new firmware from stable 25.12 gets flashed onto the router, the router would get stuck in what looks like a boot loop. I noticed that the firmware had a larger file size (as opposed to the same firmware built using one of the release candidates). I scrutinized the imagebuilder output, and it appears this was caused by the imagebuilder using a different command to compress the SquashFS filesystem. Previously it was using xz, which generated a smaller image that could fit on the device, but now it's using gzip which produces an image that is too large.
So I investigated this further and it appears the issue is that the kernel configuration CONFIG_SQUASHFS_XZ is unset. If it is set to y then that correlates with a build that uses xz (unsurprisingly lol). It is being queried in include/image.mk line 96.
So, this new problem where it uses gzip always happens with a fresh, vanilla imagebuilder directory for 25.12.
I also still had a copy of the old imagebuilder repository used for the release candidates, which appeared to have a key difference: it had a directory build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq60xx/linux-6.12.71, which notably also contained a .config file which included a reference to CONFIG_SQUASHFS_XZ (and it was probably setting it to y, but I'm not sure as I stupidly deleted the whole directory when testing things oops...).
When I deleted that extra directory, the image build began using gzip, which suggested that indeed this directory's presence was affecting what compression method was being used. Unfortunately, I can't replicate/bring back this extra directory now, as the directory was apparently generated as part of the old imagebuilder's build process which no longer works because of package errors with libubox for the 25.12 rc versions.
So with this context in mind, my question is: how can I make the new stable 25.12 imagebuilder use the xz compression method in a way that's robust/correct? And not just a hacky hardcoded modification of the imagebuilder code which could possibly cause problems? I notice that the target/linux/generic/config-6.12 file sets CONFIG_SQUASHFS_XZ=y, but it (and some other configs it sets) don't seem to end up in the environment of the makefile.
In the meantime, I've manually modified include/image.mk to insert at line 96 the following environment variable definition: CONFIG_SQUASHFS_XZ := y
Thanks!