Compilação comentada do kernel
Este artigo traz uma abordagem bem detalhada sobre a compilação do kernel do Linux. Um enfoque maior foi dado à etapa de escolha dos módulos do kernel, onde a maioria dos itens foi detalhada.
Parte 2: Pré-configuração
Antes de começar, faço as seguintes considerações: todo o processo descrito neste artigo foi feito como usuário root e no Slackware 10.1 com kernel 2.4.29. Agora vamos ao que interessa.
O primeiro passo pra se compilar o kernel, é baixar o código-fonte dele. Sugiro o site oficial www.kernel.org. Lá você encontrará várias versões para download. Sugiro a mais nova e estável existente. A versão que foi usada neste guia foi a 2.6.12.3.
Após baixar a sua versão do kernel, descompacte-a no diretório /usr/src e renomeie o diretório criado pela descompactação para um nome mais sugestivo como "linux-suaversão". Ajuste o link simbólico contido neste diretório chamado linux para que ele aponte para o diretório do novo kernel que você acabou de baixar.
Entre no diretório do seu novo kernel. Agora entra a parte que eu considero a mais complexa e complicada desse processo: a configuração. Aqui você deverá escolher quais módulos estarão presentes no seu kernel e como eles serão "acoplados" ao kernel. Existem três formas de se acoplar um módulo ao kernel: através da opção Y, ele estará acoplado diretamente ao kernel, inflando o tamanho do mesmo; com a opção M, ele será acoplado como um módulo do kernel (bom para drivers de som, vídeo e etc); ou N, onde o módulo não estará presente no kernel.
Para que seja feita esta escolha, existem três interfaces disponíveis: config onde serão feitas perguntas e você irá respondendo qual ação tomar (como Y, M, N ou ? - para uma ajuda); menuconfig onde você escolherá os módulos via menu no modo texto; ou xconfig onde você escolherá os módulos via menu no modo gráfico. Sempre sugiro que as compilações sejam feitas totalmente em modo texto para se economizar memória e evitar problemas, por isso sugiro que você use a opção menuconfig. Para acessar qualquer uma das opções, estando dentro do diretório do kernel, digite:
make <sua_opção>
Exemplo:
# make menuconfig
Você será levado a uma tela onde poderá fazer as escolhas necessárias ao seu driver. Sugiro que tenha as informações sobre o seu hardware em mãos como processador, placa-mãe, placa de vídeo, placa de som, placa de rede, placa de fax-modem, teclado, mouse e etc. Lembre-se também que a qualquer momento você poderá pedir ajuda sobre determinada opção pressionando a tecla ?. Tenha bastante atenção ao selecionar as opções aqui, mas lembre de que se você se esquecer de alguma, poderá voltar depois para adicioná-la e compilar novamente o kernel.
Lembre-se de que após configurar o seu kernel, você deve sair do menu de configuração e salvar as alterações que foram feitas. Elas serão gravadas num arquivo no mesmo diretório do kernel chamado ".config". As próximas seções nos trarão uma visão da maioria das opções de configuração que você encontrará neste menu. Lembre-se que apesar de ajudar, isto não substituirá a ajuda do kernel (tecla ?).
O primeiro passo pra se compilar o kernel, é baixar o código-fonte dele. Sugiro o site oficial www.kernel.org. Lá você encontrará várias versões para download. Sugiro a mais nova e estável existente. A versão que foi usada neste guia foi a 2.6.12.3.
Após baixar a sua versão do kernel, descompacte-a no diretório /usr/src e renomeie o diretório criado pela descompactação para um nome mais sugestivo como "linux-suaversão". Ajuste o link simbólico contido neste diretório chamado linux para que ele aponte para o diretório do novo kernel que você acabou de baixar.
Entre no diretório do seu novo kernel. Agora entra a parte que eu considero a mais complexa e complicada desse processo: a configuração. Aqui você deverá escolher quais módulos estarão presentes no seu kernel e como eles serão "acoplados" ao kernel. Existem três formas de se acoplar um módulo ao kernel: através da opção Y, ele estará acoplado diretamente ao kernel, inflando o tamanho do mesmo; com a opção M, ele será acoplado como um módulo do kernel (bom para drivers de som, vídeo e etc); ou N, onde o módulo não estará presente no kernel.
Para que seja feita esta escolha, existem três interfaces disponíveis: config onde serão feitas perguntas e você irá respondendo qual ação tomar (como Y, M, N ou ? - para uma ajuda); menuconfig onde você escolherá os módulos via menu no modo texto; ou xconfig onde você escolherá os módulos via menu no modo gráfico. Sempre sugiro que as compilações sejam feitas totalmente em modo texto para se economizar memória e evitar problemas, por isso sugiro que você use a opção menuconfig. Para acessar qualquer uma das opções, estando dentro do diretório do kernel, digite:
make <sua_opção>
Exemplo:
# make menuconfig
Você será levado a uma tela onde poderá fazer as escolhas necessárias ao seu driver. Sugiro que tenha as informações sobre o seu hardware em mãos como processador, placa-mãe, placa de vídeo, placa de som, placa de rede, placa de fax-modem, teclado, mouse e etc. Lembre-se também que a qualquer momento você poderá pedir ajuda sobre determinada opção pressionando a tecla ?. Tenha bastante atenção ao selecionar as opções aqui, mas lembre de que se você se esquecer de alguma, poderá voltar depois para adicioná-la e compilar novamente o kernel.
Lembre-se de que após configurar o seu kernel, você deve sair do menu de configuração e salvar as alterações que foram feitas. Elas serão gravadas num arquivo no mesmo diretório do kernel chamado ".config". As próximas seções nos trarão uma visão da maioria das opções de configuração que você encontrará neste menu. Lembre-se que apesar de ajudar, isto não substituirá a ajuda do kernel (tecla ?).
Abraço, Fernando.