I am trying to use crossdev to build new packages for an existing Linux system that I have a limited ability to change. The problem is I don't know what exactly my target ABI is or the different versions of the compiler and libraries that I should use.
The full story follows:
I have an older ASUS all-in-one router product which has served me well over the years, but my network is becoming more sophisticated and I need more features. Rather than replace it with a new device I would like to try and modify the firmware myself. This particular router is NOT supported by any of the open source WRT Linux distributions due to its use of proprietary Broadcom hardware and firmware. Despite that, the platform is quite open. I can access it with SSH and I have gathered a lot of system info that way. ASUS also supplies GPL source tarballs for their routers, but the one I downloaded for my model seems to be missing some files. I am still working to figure that out because it has very limited documentation, but so far I don't believe I can simply build an image using the ASUS makefiles as-is.
As for the proprietary things I can't change we have:
- Some kernel modules in /lib/modules
- Some programs in /bin (and maybe they use proprietary shared libs I don't know)
This may not come off as a strictly Gentoo question, but my plan is to slowly transform this router into an embedded Gentoo system. I will use crossdev configured with all the above info to build all of the packages I want, and then I'll use the Squashfs tools to create a blob I can write to the MTD partition when I want to do an update. If I keep all the ABI and versions the same then I should be able to do this without disturbing the existing proprietary software. I just have to keep the modules and bins in their existing places right?
OH and yes for the record I am aware of the risks of messing up my router beyond repair. I am also aware that this undertaking may require a lot of expertise that I clearly don't have, but 'outside of my comfort zone' is one of my favorite places to be.
Thank you


