Updating a GL.iNet GL-AR300M, arch change

Hi,
I have GL.iNet GL-AR300M devices, running on their NAND flash, with an OpenWRT 18.
In OpenWRT 18, these devices use the architecture ar71xx, but starting with OpenWRT 19, this is now under the ath79 architecture.

So, I built a very basic OpenWRT configuration (all default settings) from the HEAD of the master branch.

When I try to update the routers using sysupgrade, it complains and says that my sysupgrade file is not compatible.

If I try to force the sysupgrade, I end up with a non-booting device (panic, can't mount rootfs).

If I use the -firmware.bin image in order to flash from u-boot, it works.

I have a bunch of routers I need to upgrade, some of them I do not have physical access to, so I really would like to be able to do it through sysupgrade.
Is this at all possible ?

You changed a few variables at once, which makes it hard to pinpoint problems. I would suggest trying to run a pre-built 19.07.4 image first, to rule out problems that stem from the development (master) branch. Then step up to a pre-built master image, to rule out problems that stem from your own build. This way, you will at least roughly know which change is responsible for your problems.

There is no pre-built 19.07.4 that runs on the NAND flash for this device. Only the NOR flash.
I just tried with a pre-built master image for NAND, and I end up with a bad CRC while booting the kernel:

Loading from device 0: ath-spi-nand (offset 0x0)
  Image Name:   MIPS OpenWrt Linux-5.4.65
  Created:      2020-09-17  21:52:03 UTC
  Image Type:   MIPS Linux Kernel Image (lzma compressed)
  Data Size:    2243881 Bytes =  2.1 MB
  Load Address: 80060000
  Entry Point:  80060000
## Booting image at 81000000 ...
  Image Name:   MIPS OpenWrt Linux-5.4.65
  Created:      2020-09-17  21:52:03 UTC
  Image Type:   MIPS Linux Kernel Image (lzma compressed)
  Data Size:    2243881 Bytes =  2.1 MB
  Load Address: 80060000
  Entry Point:  80060000
  Verifying Checksum at 0x81000040 ...Bad Data CRC

You must be using the manufacturer's custom OpenWrt 18.xx if you are booting from NAND.
Official NAND support is now in snapshot, as you have found and will be in 20.xx.

However kernel 5.x is much bigger. Fortunately the standard uboot can handle this (both early and later versions) but sysupgrade from 18.xx cannot.

AFAIK No.