Existem várias razões pelas quais alguém pode escolher compilar manualmente um kernel. Vou tentar listar as que eu posso pensar, fora do topo da minha cabeça aqui:
- Um motivo frequentemente citado, mas muitas vezes errado, é que ele funcionará mais rápido. Ao personalizar os sinalizadores do compilador para o sistema específico, você poderia teoricamente criar um melhor código de bytes. Mas com os compiladores modernos, este não é frequentemente o caso.
- Alterar determinados sinalizadores de tempo de compilação. Por exemplo: Para compilar o kernel com informações de depuração incluídas. Embora isso possa não se aplicar no seu caso.
- Para remover partes desnecessárias do kernel. Mas, como afirmado pelo @jordanm, essas partes são quase sempre módulos e podem não importar. Mas, em alguns casos, a diferença pode ser significativa.
- Para fins acadêmicos. Compilar seu próprio kernel ajuda você a aprender muito sobre o processo de construção. Além disso, é possível aprender sobre as várias opções de configuração.
- Para substituir determinados módulos. Por exemplo, para usar o patchset con kolivas, patchset em tempo real, etc.
- Em determinadas situações, especialmente em cenários incorporados, é possível adicionar chamadas de sistema personalizadas ao kernel. Isso exigiria uma compilação personalizada também.
- Algumas pessoas gostam de mim, adoram mexer no sistema. E mudará aleatoriamente algumas opções de configuração para ver como o sistema final responde a elas. No entanto, essas pessoas são poucas e raras.