Como personalizar o seu kernel do Ubuntu
A personalização do kernel não é para todos. Por favor, note antes de tentar nada disso que pode quebrar o seu sistema.
Há um monte de razões que você gostaria de personalizar seu kernel. Você pode querer reduzir o seu kernel para apenas os serviços necessários, especialmente se você estiver executando um servidor ou dispositivo dedicado que requer apenas o essencial. Você também pode precisar corrigir seu kernel para suportar hardware que atualmente não é suportado com o kernel em que você está rodando..
Este artigo não explica como corrigir seu kernel, apenas como personalizar seu atual. Vou ter outro artigo de acompanhamento que explica como corrigir o seu kernel e algumas razões práticas pelas quais você gostaria de fazer isso.
Para começar, precisamos descobrir qual versão do kernel estamos executando atualmente. Nós vamos usar o comando uname para isso
$ uname -r
2.6.17-10 genérico
Agora precisamos instalar o fonte linux para o seu kernel, note que eu estou rodando o kernel 2.6.17-10, então a linha do instalador reflete isso. Para os propósitos deste artigo, você pode substituir o número do kernel pelo que estiver executando. Nós também precisamos instalar a biblioteca curses e algumas outras ferramentas para nos ajudar a compilar.
sudo apt-get instala o linux-source-2.6.17 kernel-pacote libncurses5-dev fakeroot
Se você está curioso para saber onde o código fonte do linux é instalado, você pode usar o comando dpkg para informar os arquivos dentro de um pacote. Aqui está a saída no meu sistema:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ usr / share
/ usr / share / doc
/usr/share/doc/linux-source-2.6.17
(aparado)
Podemos ver que a fonte foi instalada no diretório / usr / src em um arquivo zipado.
Para facilitar as coisas, vamos nos colocar no modo raiz usando o sudo para abrir um novo shell. Há outras maneiras de fazer isso, mas eu prefiro assim.
sudo / bin / bash
Agora mude o diretório para o local de origem para que possamos instalar. Note que você pode precisar instalar o utilitário bunzip se ele não estiver instalado. (foi no meu)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Faça uma cópia da sua configuração de kernel existente para usar no processo de compilação personalizado. Note que o 'personagem é aquele abaixo do til ~
cp / boot / config-'uname -r '/usr/src/linux/.config
Agora vamos lançar o utilitário que nos permitirá personalizar o kernel:
cd / usr / src / linux
fazer menuconfig
Primeiro, vá até Carregar um arquivo de configuração alternativa e carregue o arquivo .config. (apenas aperte enter)
Agora que estamos dentro do utilitário, podemos definir as opções para o nosso kernel personalizado. A navegação é bem simples, há uma lenda no topo se você se perder. Eu decidi selecionar Networking e pressione a tecla Enter para entrar nessa categoria.
Suporte de rádio amador? O que diabos é isso para instalar? Você notará pelo * que está embutido no kernel.
Ao pressionar o? chave, podemos ver a ajuda para esse item em particular. Aqui está a explicação:
Bem, vou desabilitar isso imediatamente. Por que diabos isso é instalado no meu kernel? Eu apertei Esc para sair da tela de ajuda, e então pressione N para excluir isso do meu kernel.
Quando terminar de fazer as escolhas desejadas, pressione Sair e salve a configuração quando solicitado..
Agora temos uma configuração pronta para compilar. Primeiro faremos uma limpeza, só para ter certeza de que tudo está pronto para a compilação.
make-kpkg limpo
Em seguida, vamos realmente compilar o kernel. Isso vai demorar um tempo muito lento, então vá encontrar algo interessante para fazer.
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
Este processo irá criar dois arquivos .deb em / usr / src que contêm o kernel. O arquivo linux-image **** é a imagem real do kernel, e o outro arquivo contém o arquivo Você pode instalar ambos com o dpkg. Os nomes dos arquivos provavelmente serão diferentes em seu sistema.
Por favor note que quando você executa estes próximos comandos, isto irá definir o novo kernel como o novo kernel padrão. Isso poderia quebrar as coisas! Se sua máquina não inicializar, você pode clicar em Esc no menu de carregamento do GRUB e selecionar seu kernel antigo. Você pode então desabilitar o kernel em /boot/grub/menu.lst ou tentar compilar novamente.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Agora reinicie sua máquina. Se tudo funcionar, você deve estar executando seu novo kernel personalizado. Você pode verificar isso usando uname. Observe que o número exato será diferente em sua máquina.
uname -r
2.6.17.14-ubuntu1-custom
Eu planejo escrever uma série de artigos sobre personalização de kernel, então inscreva-se no feed RSS para atualizações.
Além disso, no interesse da divulgação completa, aprendi como fazer isso a partir do artigo no HowtoForge, que é um ótimo site para alguns tutoriais muito avançados sobre o Linux. Você notará que muitas das etapas deste artigo são semelhantes, embora eu tenha tentado tornar este artigo mais "Ubuntu".