Does setting the miniroot to an extraordinarily small size (options
MINIROOTSIZE=1) make the linker happy?
no.
I have this nagging notion in the back of my head about GNU ld trying to
convert zero'd data to bss, and perhaps it's getting confused by that very
large data segment....
this _isn't_ zero'd data. it is explicitely initialised to something like
"|This is the miniroot\n".