Можно ещё компилировать без отладочной информации и с оптимизацией по размеру (в ущерб производительности видимо). Ключ компилятора -Os. У готового бинарника убрать отладочную информацию можно командой strip.
А бинарники вроде и так динамически собираются (сам же говоришь что без -static динамически собирались). Если тулчейн тот же, которым корневая фс собиралась, то делать ничего вроде бы и не надо, ну может быть прописать LD_LIBRARY_PATH=/lib:<путь к твоим библиотекам>.
А вообще при компиляции указываешь -L<путь к библиотеке> и -l<сама библиотека>. Например, если у тебя на компе в /opt/mips-lib/ лежит математическая библиотека libm.so, то указываешь mipsel-linux-gcc -L/opt/mips-lib -lm -o hello hello.c. Эту libm.so потом нужно ещё на роутер скопировать, если её там нету.