The story goes that makenode was created to solve a few problems with the sudowrt firmware. Mainly, it was much quicker to implement changes in makenode rather than rebuilding the firmware. This way patches could be rapidly deployed with out a full rebuild and reflash of the firmware (however this is ignoring the existence of a lot of already "made nodes"). This use case of triaging patches before integrating them into a new build of the firmware devolved into using makenode to do perform almost all node configurations. While these configurations are mostly "per-node"
1. To retrieve an IP from secrets.peoplesopen.net (our meshnode-database) and then copy it into a lot of config files
2. To set a root password other per-node configs, such as hostname, private SSID, etc.
3. To perform hardware detection to select which config files to copy onto node