One of the things that needs to be done is that use of an additional CFLAGS option passed to the cross-compiler when building things:
--with-sysroot=/mnt/us/extensions/system
I haven't (yet) played with the various combinations of options for moving the location requirements out of the standard place, it may be more complex than just that.
But when you do a readelf on a binary built that way, it should report:
requesting /mnt/us/extensions/system/lib/ld-linux.so.xx interpreter
And of course, that loader (interpreter) should be searching /mnt/us/extension/system/lib and /mnt/us/extensions/system/usr/lib on its own, **without** any fooling around with 'LD_LIBRARY_PATH'
And since the loader is built as part of building the C library, **everything** has to be re-built, starting with the C library.
Hello, BuildRoot.