Ola
Não entendi sua proposta.
Você deseja criar um firmware para um router usando o linux para isto, estou correto?
Já tentou um contato com o fabricante do roteador para obter algum auxilio?
Qual a finalidade em criar este firmware?
Uma vez que isto irá exigir engenharia reversa (exceto se o fabricante lhe ceda o código do firmware ), você poderia postar o que já fez, ou apenas o código para o fórum poder analisar a questão.
Para reduzir o tamanho do Ubuntu é bem simples:
1) Remova a interface gráfica caso não vá utilizar, remova todos os pacotes que julgar desnecessários e recompile todos os pacotes úteis que restaram. Recompile o kernel para a finalidade proposta removendo todos os módulos não necessários à operação do roteador.
2) descompile o firmware do roteador alvo do seu trabalho e insira o codigo já preparado do Ubuntu no firmware.
3) recompile o firmware e insira na eeprom do roteador.
Como um firmware de roteador tem aproximadamente 800KB e só o kernel do Ubuntu tem mais de 1MB, você já tem aí bastante trabalho para remover os modulos desnecessários.
não sei nem por onde começar
Inicie estudando como funciona o kernel linux, seus modulos e comandos internos. Aprenda como utilizar as ferramentas de compilação, obtenha conhecimentos de assembler e linguagem C, adquira informações de como realizar engenharia reversa, leia sobre o ambiente X e como interagir e programar o mesmo.
Dominio da lingua Inglesa é imperioso. 99% da documentação é no Idioma de Shakespeare.
Brincando, deve demorar uns 4 anos de estudo.
Sem contar o acordo que deve ser feito com o fabricante do roteador, pois se o firmware for objeto de patentes so desta forma será possível depois distribuir suas modificações.
Bons estudos
[]'s