Finally!! Many brickings later... I have been able to program the AC31 firmware onto my LK7900.
This has been like mission impossible.
Using the normal method of putting the firmware files onto the SD Card, and letting the LK7900 update it's self does not work for me at all. This always gets stuck in a boot loop, then finally bricks its self. I've lost count of the number of attempts I've made, following the instructions 'to the letter'. Each time, I've had to recover using the "Magic" card image.
By studying the layout of the "Magic" bootable SD card, and reading the documentation for the microcontroller, I've been able to produce a couple of utilities to allow any supplied firmware version to be converted into a bootable SD card.
The bootable SD card will always work irrespective of nand flash memory state, and is more than likely the same process that is used for initial programming in the factory.
Producing the bootable SD card image is a two stage process. There's a utility to split the firmware out of the supplied firmware package files. A second utility allows the individual firmware components to be reassembled to make a bootable SD card image.
The only component which is needed in order to make a bootable SD card, but which is not contained within the fimware packages supplied by Lukas, is the SDBoot UBL. I have included this component in the zip attachment.
The only other issue is that the size of each firmware component has a hard coded maximum value within the SDBoot binary. The AC31 firmware has a RootFS size that exceeds this limit, so I have had to hack some of the machine code within SDBoot in order to increase the maximum RootFS size. Some further explanation is included within the zip attachment.
Other than that, this firmware upgrade seems to have gone relatively smoothly. Mission accomplished.