Compilação do Kernel Linux para máquinas locais Debian

Este artigo foi tirado originalmente do meu site slackjeff.com.br. Compensa compilar o kernel? Em pleno século XXI, esta pergunta ainda é recorrente nos fóruns e também matuta muita a cabeça da galera.

[ Hits: 8.690 ]

Por: Jefferson Rocha em 04/05/2018 | Blog: https://slackjeff.com.br


Informações do sistema



Quando vamos compilar o kernel precisamos saber informações da nossa máquina, para ter um sucesso mais satisfatório e assim fazer um kernel no estilo luva, que caberá certinho para sua máquina.

Existem alguns métodos para obter informações do seu sistema, irei te passar 4 formas de se fazer isto, que se usadas em conjuntos ficam bem completas.

Então não tenha preguiça!
  • lspci
  • lsusb
  • cpuinfo
  • lsmod

É interessante você redirecionar as saídas para algum arquivo em texto ou algo do gênero, para você estudar mais com calma todos os seus componentes necessários.

lspci -v
$ lsusb -v
$ lsmod
$ cat /proc/cpuinfo


NOTA: você pode usar dois 'v' para ficar mais verboso ainda, ex.: lspci -vv

Caso queira redirecionar a saída para um arquivo, use '>/diretorio', exemplo:

lspci -v > /home/slackjeff/lspci.txt

Garimpando o .config

Após um breve entendimento sobre como dar uma peneirada no .config, vamos começar a nossa brincadeira! Ainda nas pasta /usr/linux siga.

Na documentação do Kernel há um pedido para antes de tudo limpar a "sujeira" do fonte... para isto rode:

# make mrproper

Vamos começar a configurar o kernel agora, para isto rode o comando:

# make menuconfig

Saída:

HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/mconf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/inputbox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTLD scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig
#
# using defaults found in /boot/config-4.10.14emmi
#


Perceba que acima nesta caixa de dialog está especificando como utilizar o mesmo! Você pode usar o direcional para navegar entre os menus, caso queira alternar para os menus principais (Select, Exit, Help, Save, Load), você pode usar o TAB.

Para fazer um selecionamento rápido perceba que os menus tem uma cor diferente na primeira letra, por exemplo se eu quisesse usar o 'Help' poderia simplesmente aperta a letra 'H' do meu teclado ou 'Save' a letra 'S'.

Vamos agora carregar nosso .config, para isso selecione o 'Load' no menu. Irá abrir uma caixa parecida com esta abaixo, dê um < Ok > para prosseguir.

Após ter feita toda configuração Aperta [Save] e um [Exit] para sair do dialog.

Pronto, agora o seu .config está pronto para receber um dos 2 comandos ditos nos tópicos anteriores (localmodconfig, localyesconfig). Escolha o que mais se adapta a sua situação, em nosso caso vamos usar o 'localmodconfig'. Nesta primeira jornada vamos rodar o 'localmodconfig', note que caso seu kernel compilado seja maior (VERSÃO) que o .config do kernel genérico irá aparecer algumas perguntas leia atenciosamente ou simplesmente tecle [ENTER] para deixar as opções padrões.

# localmodconfig

Após concluir este passo rode o 'make menuconfig' para abrir o menu de opções do kernel.

É de extrema importância que você faça com calma e vá abrindo opção por opção para enxugar bem o seu kernel sem tirar algo necessário para o bom funcionamento do seu hardware.

Caso você está sem muito tempo, pare a configuração, dê um [SAVE] e [QUIT] e retorne outra hora para terminar a configuração.

# make menuconfig

Após feito o processo de escolhas dê um [SAVE] e [QUIT] e saia, após concluir este processo vá para o próximo tópico, agora vamos começar a compilar.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Verificando assinatura (.sign)
   3. Ajustes
   4. config
   5. Informações do sistema
   6. Compilação
Outros artigos deste autor

Boot Seguro LILO

Programar em Shell - Script só para os baixinhos

Descartando Séries no Slackware não tão Necessárias

Howto de Compilação com Slackbuilds

Slackware x Debian

Leitura recomendada

IPCMSG: Comunicação inter-processos sem magia negra

Como compilar o Kernel em qualquer distribuição GNU/Linux

NetFilter Hook em Kernel 2.6

Compilando kernel 2.6 no Slackware 11

Slackware com kernel 2.6.10 - passo a passo

  
Comentários
[1] Comentário enviado por pylm em 04/05/2018 - 16:02h

Um adendo pra pegar a configuração do kernel atual, caso não tenha o config em /boot, você pode usar o zcat, assim:

zcat /proc/config.gz > .config

[2] Comentário enviado por edps em 12/05/2018 - 14:06h

COntinuando o que o @pylm disse, você também pode usar:

# make oldconfig

E se nada quiser responder ao usar a config de seu kernel atual, use:

# make olddefconfig

+ em:

https://hyunyoung2.github.io/2016/12/05/Make_config/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts