Você poderia realmente construir um kernel para seu hardware específico, se quisesse. Eu acho que uma boa distribuição para ilustrar isso é o gentoo - você pode executar kernels sintonizados em seu hardware ou rodar o genkernel.
Você poderia usar um kernel genérico, que é maior, ou construir um kernel para suas necessidades. Esqueça algo que não pode ser carregado como um módulo e reconstrua o kernel inteiro.
Existem, é claro, módulos de kernel (que são quantos drivers de terceiros são empacotados), mas o objetivo de ter um conjunto sã padrão de módulos de kernel é saber que seu sistema tem uma probabilidade razoável de funcionar. Imagine precisar gastar algumas horas compilando seu kernel porque você esqueceu de ativar o X (isso aconteceu comigo, a última vez que tentei instalar o gentoo)!
No entanto, você não tem os drivers para todos dispositivos - você geralmente instala drivers por conta própria - por exemplo, a nvidia tem drivers separados fora dos pacotes do Noveau que muitas distribuições têm (e isso está fora do pacote). kernel) eo mesmo acontece com muitas placas de rede. Há também mecanismos que apenas carregam os módulos necessários conforme necessário
Se você quiser um conjunto mínimo de drivers, em um kernel fino, construído de acordo com as especificações de seu próprio sistema, faça-o. Apenas lembre-se de que há muito trabalho, e o kernel genérico é geralmente um conjunto de trocas sãs que os desenvolvedores de distro escolheram porque são confiáveis.