Os drivers essenciais que são considerados críticos para o carregamento do kernel geralmente são construídos no kernel, enquanto outros drivers de hardware, etc. são construídos como módulos ou arquivos .ko .
Os módulos .ko são normalmente armazenados no diretório /lib
da sua partição raiz. Para usar qualquer um desses, o kernel deve primeiro ser capaz de detectar e acessar o dispositivo de armazenamento subjacente e, em seguida, acessar seu sistema de arquivos. Portanto, é seguro assumir que um kernel sem o suporte a SATA / SCSI e ext2 / 3/4 embutido não será realmente inicializado;)
Você pode optar por alternar a maioria dos drivers de kernel integrados para o formato de módulo. A equipe de kernel do Ubuntu decide se modifica a configuração padrão da equipe de kernel do Linux e inclui / exclui drivers internos adicionais para as imagens de kernel armazenadas que você baixa.
Se você construir seu próprio kernel, poderá fazer o mesmo:
- Na captura de tela acima, o
*
indica um driver interno, enquantoM
indica um módulo. - O suporte ao dispositivo de loopback, que geralmente é essencial para inicializar um sistema, é integrado por padrão.
- O driver USB de baixa velocidade (USB 1.0) também é integrado por padrão para permitir que você inicialize um pendrive, mas aqui eu o mudei para um módulo.