Criando um pacote com o kernel compilado para o Slackware

Publicado por Leandro Santiago em 15/09/2006

[ Hits: 7.031 ]

Blog: http://leandrosan.wordpress.com

 


Criando um pacote com o kernel compilado para o Slackware



Bem, eu estava aqui compilando um 'kernelzinho' como sempre e esbarrei na seguinte questão:

Compilamos um kernel (2.6) normalmente com os conhecidos comandos:

# make bzImage && make modules

Se queremos criar um binário do kernel para instalarmos em várias máquinas ou guardarmos para instalações posteriores, fazemos o seguinte:

Para os "Red Hat da vida", damos o comando:

# make rpm
ou
# make rpm-pkg

Se usamos um Debian, damos o comando:

# make deb-pkg

E pronto! Pacote criado, bastando somente instalar com os comandos específicos de cada sistema.

Mas e o que acontece com os usuários do Slackware e derivados?

Você poderia pensar em criar um rpm e depois converter para tgz, mas uma conversão nunca ocorre de forma totalmente perfeita (pelo menos não comigo). Acontece que nos kernels mais novos - testei no 2.6.14 - é possível fazermos uma "gambiarra" para resolver isso.

Ao contrário dos outros sistemas, no Slack tudo ocorre de forma muito simples - KISS ("Keep it Simple, Stupid") -, e isso também ocorre no sistema de pacotes, que é somente um arquivo .tar.gz.

Então vamos colocar a mão na massa.

Há uma opção na compilação chamada:

# make targz-pkg

que cria um arquivo tar.gz no diretório raiz do kernel source.

Se você tentar instalar o pacote criado, você receberá uma mensagem de erro:

Cannot install linux-2.6.14.tar.gz: package does not end in .tgz

Pois embora .tgz e .tar.gz sejam as mesmas coisas, no Slackware é diferente (confuso...).

Então para resolver o 'problema', simplesmente renomeamos o arquivo nos moldes dos pacotes do Slack, que é o seguinte:

nomedopacote-versão-arquitetura-release.tgz

Renomeando:

# mv linux-2.6.14.tar.gz linux-2.6.14-i386-1.tgz

(kernel compilado para 386)

Bastando somente instalar o pacote com o installpkg ou instalar em quantas máquinas quiser, sem ter que ficar compilando em uma por uma.

A única desvantagem é não haver um jeito automático de criar os arquivos de descrição e dependências dos pacotes (a menos que você modifique uns scripts), mas isso não não é necessariamente um problema.

Espero que essa dica possa ajudar aos que tiverem o mesmo problema, e até a próxima.

Outras dicas deste autor

Acessando mais que 9 parâmetros em shell script

Ouça o que diz a Vaca

Desligando o seu computador com o dedão do pé

Como preparar a compilação de um programa que utiliza Qt4

Exibindo vídeos na sua área de trabalho com o Xine

Leitura recomendada

Compilação de Kernel Personalizado + TXZ [Vídeo]

Failed to overwrite statefile

Kernel 4.8.3 No Debian, Linux Mint e Ubuntu - Atualização rápida

Som no Linux (recompilando kernel)

Instalando kernel-2.6.11 source em teu Linux

  

Comentários
[1] Comentário enviado por delmarcs em 22/09/2006 - 19:33h

É uma solução emergencial interessante.
Ajudou!

[2] Comentário enviado por GilsonDeElt em 11/03/2007 - 21:35h

Legal.
Talvez eu faça isso quando compilar o 2.6.17.13.
Valeu!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts