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óprio kernel. Acontece que naqueles velhos hardwares 486 com míseros 64MB de memória, remover devices não usados do kernel ajuda a economizar memória, fato este que presenciei 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 instalação de pacotes no OpenBSD, 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 dmassage:
1.0 - Setando a variável PKG_PATH:
# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.3/packages/i386/
1.1 - Instalando o Dmassage:
# 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
Dmassage 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/
2.0 - Precisamos de 2 arquivos do OpenBSD (src.tar.gz, sys.tar.gz)
Utilizando o wget:
# wget http://mirrors.uol.com.br/pub/OpenBSD/4.3/src.tar.gz
# wget http://mirrors.uol.com.br/pub/OpenBSD/4.3/sys.tar.gz
2.1 - Caso não possua o Wget instalado e queira instalá-lo, faça o seguinte:
# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.3/packages/i386/
# pkg_add wget
Esse processo baixará 3 arquivos e os instalará em seu sistema, após instalado é somente executar o passo acima (2.0).
2.2 - Extraia os arquivos:
# tar -zxvf src.tar.gz
# tar -zxvf sys.tar.gz
2.3 - Pronto, 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
2.4 - Abra o arquivo new e veja que o dmassage colocou um comentário "#" na frente de todos os devices que não possuímos em nossa máquina, isso proporciona a nossa máquina o uso específico de devices e que em termos de hardware ajuda a economizar um pouco de memória.
2.5 - Usamos o config para criar os arquivos necessários para a compilação:
# config new
Don't forget to run "make depend"
2.6 - Descemos 2 níveis e entramos no diretório do kernel new:
# cd ../compile/new/
2.7 - Compilamos as dependências:
# make depend
2.8 - Compilamos o kernel:
# make
3.0 - Instalando o Kernel:
3.1 - O kernel ainda não está instalado, para instalarmos devemos copiar o arquivo "bsd", que está nesta pasta, para o diretório /. 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
3.2 - Feito isso podemos reiniciar a máquina, atentando para a hora em que o boot for iniciar carregarmos o novo kernel digitando "
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 4.3
boot>
boot bsd.new
3.3 - Caso o boot tenha sucesso e você esteja certo que seus devices estejam todos funcionando, podemos setar nosso kernel para o default:
# mv /bsd /bsd.old
# mv /bsd.new /bsd
4.0 - Fim da compilação!
Referências