Do topo ...
-
make
compila e vincula a imagem do kernel. Este é um único arquivo chamadovmlinuz
. -
make modules
compila arquivos individuais para cada pergunta que você respondeuM
durante a configuração do kernel. O código objeto está ligado ao seu kernel recém-criado. (Para perguntas respondidasY
, estas já fazem parte devmlinuz
, e para perguntas respondidasN
elas são puladas). -
make install
instala seu kernel construído em/vmlinuz
. -
make modules_install
instala seus módulos do kernel em/lib/modules
ou/lib/modules/<version>
.
Quanto a adicioná-lo à lista de kernels disponíveis, isso é feito pelo gerenciador de inicialização. É diferente para cada gerenciador de inicialização, mas grub
é o mais comum em x86 e amd64, então vou descrever isso. Na verdade é bem simples. O Grub procura em /
, /boot
e /lib/modules
para qualquer coisa que pareça que possa ser um kernel funcional e adiciona-o. E sim, esta é uma descrição supersimplificada.
Esse "material horrível" extra na documentação do Ubuntu é um material extra para criar um pacote deb
. Quando você está fazendo isso por mais que você, é muito melhor empacotá-lo. Você vai mudar no tempo.
A criação do kernel e dos módulos é mantida separada porque, para as pessoas que precisam (ou seja, desenvolvedores de kernel), elas geralmente fazem alterações em apenas um módulo. Eles podem aplicar suas alterações, reconstruir e instalar apenas os módulos. Isso economiza muito tempo quando tem que ser feito 20 vezes por dia. Ele nunca será atualizado para ter um único comando make everything
. Você, em vez disso, executa make && make modules && make install && make modules_install
exatamente como a documentação diz para fazer . O processo de construção favorece os desenvolvedores do kernel, não você. E é assim que deve ser.
Na realidade, não há quase nenhuma razão para ninguém, exceto desenvolvedores do kernel ou distribuidores de distros, compilar um kernel. Em quase todas as circunstâncias, o recurso do kernel que você deseja já foi construído para você e está disponível em um dos kernels pré-empacotados. Há exceções, mas são extremamente raras nos dias de hoje.
Não que eu esteja desencorajando você a construir seu próprio kernel, eu realmente encorajo você a fazer isso. Acho que construir seu kernel a partir do zero é uma prática valiosa para aprender como tudo funciona lá embaixo. Em parte, porque talvez um dia você será a exceção que precisa. Mas também ensina muito sobre o kernel & processo de inicialização em geral. Você será uma pessoa melhor por ter feito isso.