quarta-feira, outubro 14, 2009

Compilar kernel Debian Lenny criando .deb

Nesse post mostrarei como compilar o kernel Debian do modo Debian, criando o pacote .DEB para você distribuir pros seus amigos e não ter que ficar compilando máquina por máquina. Então vamos deixar de blablabla e começar a trabalhar.

Passo 1: Instalação dos pacotes necessário para compilação
#aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential

Esses devem ser o suficiente mas por via das dúvidas coloque esses daqui também.
#aptitude install zlib-bin zlibc zlib1g-dev


Passo 2: Baixar, descompactar e criar link para kernel
Aqui iremos entrar no diretorio onde iremos baixar, descompactar e criar o link para o kernel para mais tarde compilá-lo.
#cd /usr/src
#wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.4.tar.bz2
#tar -xvvjf linux-2.6.31.4.tar.bz2
#ln -s linux-2.6.31.4 linux
#cd linux


Passo 3: Copiar o arquivo de .config do antigo kernel
Copiando o arquivo .config do antigo kernel podemos economizar algum tempo na configuração dele, mas nada impede de você modifica-lo totalmente.
#cp /boot/config-$(uname -r) .config


Passo 4: Configurar, melhorar, adicionar modulos ao kernel
Esse comando permitirá você modificar as configurações do kernel que você está compilando
#make menuconfig


Passo 5: Limpar o fonte para compilar em paz.
Primeiro devemos ter certeza que não existe lixo de uma possivel compilação que deu erro, para isso usamos o seguinte comando.
#make-kpkg clean


Passo 6: Agora vamos compilar o kernel criando os pacotes .DEB
#time make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers


Passo 7: Arquivos .DEB gerados
Verifique se os arquivos .DEB foram criados no seu diretório corrente.
#ls linux-*.deb

Se todos estiverem ai pronto, pode instar que tah tranquilo.

Passo 8: Instalar o novo kernel.
#dkpg -i linux-*.deb


Agora você pode reinicar seu sistema que estará com o novo kernel funcionando.
reboot


OBS1. Esse arquivo .DEB pode ser instalado em outras maquinas sem ter que fazer todos esses passos, basta que você use o comando #dkpg -i
OBS2. Quando eu compilei meu kernel eu tive um problema na compilação que me retornou um erro muito estranho. A correção para o erro você encontra AQUI

Referência: Guto Carvalho