This ended up to be an intermediate guide that requires you to understand linux, the differences between embedded and server (or desktop) systems, some of how router firmwares work. This can surely consume up to a few hours of your day.
It is important that you understand your architecture. The AC88U Router I used in this example is an armv7l.
uname -m
armv7l
Unless you use an armv7, this guide may not be 100% applicable to you, so expect changes for amd64, armv5, armv6.