Fixed position partition splitting and bad blocks on nand flash

Like I commented to you in the other discussion, the problem has been observed with R7800 earlier. So far, the initramfs+sysupgrade approach is the easiest fix, as it allows writing kernel and rootfs to the correct places separately.

Likely the proper long-term solution would be bad block management built into the kernel, so that rootfs loading with bad blocks would happen ok. Some OEMs have built it, and I think that it is implemented for some targets also with OpenWrt.

A recent OpenWrt implementation of bad block management is
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=11425c9de29c8b9c5e4d7eec163a6afbb7fbdce2
I haven't really tried to analyse if that one solves the rootfs location prob, but it is at least a step to that direction.

You might also read discussion in :
R7800 -> Flashing openwrt causes bootloop (bad block in kernel area)

especially the few messages around here, where I quoted the BB logic from Netgear GPL sources:

I have not tried to port/implement it to OpenWrt, but it gives one answer how OEMs tackle the NAND bad block handling with their firmware.