Pular para o conteúdo

Criando um pacote com o kernel compilado para o Slackware

Dica publicada em Linux / Kernel
Leandro Santiago tenchi
Hits: 7.646 Categoria: Linux Subcategoria: Kernel
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Criando programas com opções

Concatene com o Bash e fique contente!

Ouça o que diz a Vaca

Editando documentos em formato PDF com o Koffice

Criando um planeta só seu.. no GIMP

Carregando o "config" para recompilar o kernel

Exploit dá acesso root em máquina local - kernels 2.6.17 e 2.6.24.1

Compilando corretamente o kernel 2.4.x no Slackware

Slackware 10.1 SATA k8nNeoPlatinum

Sidux com kernel 2.6.29 atualizado por script smxi

#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

Entre na sua conta para comentar.