Acredito que há vários problemas relacionados ao firmware personalizado para pontos de acesso / roteadores comerciais.
Primeiramente, se você decidir criar um sistema / firmware de operações personalizado para um roteador, você terá que encaixá-lo na memória flash do roteador desejado (2,4,8,16MB) e isso significa muita personalização para o código e optmization terá que ser executado. No entanto, você pode instalar um shell incorporado como blackbox e terá muita funcionalidade padrão por quase nada.
Em segundo lugar, o software que você escolher usar com o firmware terá que funcionar com recursos muito limitados (RAM, CPU).
Thirldy, eu não acho que você será capaz de obter as especificações precisas de hardware da plataforma, o que em teoria significa que você pode chegar a uma situação na qual você precisa escrever um patch para um problema desconhecido.
Todos os itens acima tornam o firmware bastante diferente de um sistema operacional típico (BSD, Gentoo).
Se você decidir usar uma solução disponível como DD-WRT ou similar, observe que é necessário ter um dispositivo com hardware compatível (Broadcom, Atheros).