Criando um pacote com o kernel compilado para o Slackware

Publicado por Leandro Santiago em 15/09/2006

[ Hits: 6.900 ]

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

Controlando o amarok pela linha-de-comando

Framebuffer - recursos gráficos sem o X

Criando programas com opções

Editando documentos em formato PDF com o Koffice

Escolhendo a faixa de áudio e legenda nos vídeos em formato OGM

Leitura recomendada

Instalando o Kernel Liquorix no Debian 10

Instalação da placa de rede Attansic no Slackware Linux 12.1

CD's do Ubuntu de graça!

Recompilação de Kernel no FreeBSD Release 8.1

Desligando temporariamente os módulos que travam o kernel do OpenBSD

  

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