você está aqui: Home  → Arquivo de Mensagens

Deixando o kernel do OpenBSD enxuto.

Colaboração: Giancarlo Rubio

Data de Publicação: 04 de Setembro de 2007

Este artigo visa demonstrar o uso da ferramenta dmassage para tornal o kernel o mais enxuto possivel. Descobri a ferramenta dmassage enquanto lia o livro "Absolute Openbsd - Unix for the pratical paranoid", que eu recomendo para aqueles que querem entrar no mundo dos bsd's.

Generic kernel

Generic, o kernel default do OpenBSD, é feito para funcionar (bootar) nas mais variadas plataformas e devices. Diferentemente da plataforma linux, onde compilar o kernel uma espécie de ritual, o kernel generic é recomendado pelos desenvolvedores do OpenBSD, sendo até mesmo desaconselhado você compilar seu própio kernel. Acontece que naqueles velhos hardwares 486 com miseros 64mb de memória, remover devices não usados do kernel ajuda a economizar memória, fato este que presenciei a uns dias atrás.

Dmassage

A instalação do dmassage é de extrema simplicidade assim como todos os softwares que já estão portados para o OpenBSD. A solução ideal para instalacao de pacotes no opensbd, recomendada pelos developers, é o pkg_add, já que segundo eles o uso do ports por mais simples que seja serve apenas como interface para a compilação de pacotes. Vamos começar instalado o dmssage

  # pkg_add -vvvi dmassage
  parsing dmassage-0.6
  Adding dmassage-0.6
  extracting /usr/local/bin/dmassage
  extracting /usr/local/man/man1/dmassage.1
  /dev/wd0e: 383 bytes
  /dev/wd0g: 12126 bytes
  #

Dmssage instalado, temos agora que baixar o src do kernel já que o OpenBSD não traz junto com ele na instalação.

  # cd /usr/src/

Conectamos no ftp do openbsd Usuario anonymous e sem senha

  # ftp ftp.openbsd.org

Pegamos o src

  ftp> get pub/OpenBSD/4.1/src.tar.gz

Assim que tivermos baixado podemos extrai-lo

  #tar -xvzf src.tar.gz

Ja temos o src do kernel agora precisamos usar o dmassage para verificar o que meu kernel necessita.

  #cd sys/arch/i386/conf/
  #dmassage -s GENERIC > new

Abra o arquivo new e veja que o dmassage colocou um comentario # na frente de todos os devices que nao possuimos em nossa maquina, isso proporciona a nossa maquina o uso especifico de devices,e que em termos de hardware ajuada a economizar um pouco de memoria.

Compilando o kernel

Usamos o config para criar os arquivos necessarios para a compilacao

  #config new
  Don't forget to run "make depend"

Descemos 2 niveis e entramos no diretorio do kernel new

  # cd ../compile/new/

Compilamos as dependencias

  # make depend

Compilamos o kernel

  # make

O kernel ainda nao esta instalado, para instalarmos devemos copiar o arquivo bsd que esta nesta pasta para o diretorio /. Para evitarmos um erro de kernel no boot, vamos copiar o kernel com um nome diferente de bsd, no caso bsd.new

  # cp bsd /bsd.new

Feito isso podemos reiniciar a maquina, atentando para a hora em que o boot for iniciar carregarmos o novo kernel digitarmos boot bsd.new

  Using Drive: 0 Partition: 3
   reading boot.....
   probing: pc0 com0 com1 apm mem[639k 255M a20=on]
   disk: fd0 hd0+
   >> OpenBSD/i386 BOOT 2.10
   boot> boot bsd.new

Instalado o kernel

Caso o boot tenha sucesso e vc esteja certo que seus devices estejam todos funcionando podemos setar nosso kernel para o default

  # mv /bsd /bsd.old
  # mv /bsd.new /bsd

Referências



 

 

Veja a relação completa dos artigos de Giancarlo Rubio

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script