As instruções a seguir se aplicam à construção de um kernel a partir do upstream. Pessoalmente acho isso mais simples. Eu não sei como obter uma árvore com os patches do Ubuntu aplicados, prontos para construir assim.
(1) Teoricamente, a maneira como você constrói os núcleos de maneira mais razoável timespans para testes devem ser
cp /boot/config-'uname -r' .config
você não precisa ativar nada mais recente, por isso - só o problema é isso quebra se eles renomearam coisas:
make oldnoconfig
agora desabilite todos os módulos que não estão atualmente carregados. (Faço Certifique-se de ter todos os seus dispositivos USB que você precisa conectar ...):
make localmodconfig
Funcionou para mim recentemente, então pode ser útil. Não tão bem o da vez anterior eu tentei.
Acho que consegui de uma hora a dez minutos. Mesmo depois de make localmodconfig
, ele ainda está criando quantidades loucas de coisas que eu não preciso. OTOH realmente encontrar e desativar esse material (por exemplo, em make xconfig
) leva um tempo também (e ainda mais se você por engano desativar algo que você fazer precisa).
Acho que vale a pena saber que existe, não é garantido que você fique feliz.
(2) Mas na verdade você não precisa de compilações de duas horas para cada modificação em seu "módulo". (Ele realmente precisa ser construído se você estiver implementando uma nova chamada de sistema). make
apenas irá recompilar seus arquivos modificados e integrá-los em um binário do kernel. Portanto - para a situação específica que você descreve - seria mais simples aceitar a compilação inicial de duas horas. Acertar o Kconfigs é apenas uma dor.
É útil fazer Kconfigs (por exemplo, os mínimos), no entanto, se você quiser portar diferentes versões do kernel, faça git bisect
, teste diferentes opções de compilação, etc.