Recompilando o kernel e Atualizando seu sistema FreeBSD
Esse tutorial foi baseado no site: http://freebsddiary.org/makeworld-script.php
Entre no freebsd como root e pegue o arquivo:
fetch http://www.cbsp.com.br/pablo/freebsd/makeworld.tgz
descompacte o arquivo no home do root:
tar xvzf makeworld.tgz -C /root
Com isto você terá o diretório:
/root/make
e alguns scripts dentro...
Antes de explora-los seria interessante instalar o cvsup que é o programa responsável pela atualização dos fontes:
cd /usr/ports/net/cvsup-without-gui
make
make install
Para procurar por um programa no ports faca assim::
cd /usr/ports
make search key="programa"
Ou faca como eu::
mkdir /root/bin
vi /root/bin/busca
---------------------
#!/bin/sh
cd /usr/ports
make search key="$1"
cd -
----------------------
Dai para procurar qualquer coisa é só executar busca
Coloque o /root/bin no path para isto !!!
Continuando..
Agora que o cvsup esta instalado entre no diretorio:
cd /root/make
Como se trata de uma primeira instalação sua, eu não vou ensinar somente como se compila o kernel, mas também como se atualiza todo o sistema !!!
Da uma olhada geral no arquivo Makefile
Ele é dividido em varias seções:
update, ports, build, install, kernel
update: Atualiza os fontes do seu freebsd (inclusive o kernel) ports: Atualiza a base e ports em /usr/ports build: compila tudo que você pegou com o make update install: Adivinha? kernel: Compila e instala o kernel baseado num arquivo de definicoes
Os arquivos que ficam em /root/make/etc servem de configuração para o cvsup. É lá que o cvsup lê de onde deve pegar os fontes
Por exemplo:
cd /root/make/etc
ports-supfile: Regras para atualizar os ports refuse: Pacotes que você não quer secure-supfile: fontes de materia segurança related standard-supfile: Atualização geral do sistema
Dentro destes arquivos tem o parametro::
*default host=cvsup.br.FreeBSD.org
Se você tiver problemas com o mirror brasileiro use::
*default host=cvsup.FreeBSD.org
Uma Dica:
O parametro: *default tag=RELENG_4
diz a versão que você esta usando. Você pode por *default tag=.
para representar a versão corrente ou *default tag=RELENG_5 para o testing :-)
Então vamos la !!!:
cd ~/make
make update (humm isto demora)
make build (hummmmm isto também demora pacas)
O próximo passo seria make kernel
Mas antes disto precisamos comfigurar como queremos este kernel !!!
Se você olhar no topo do arquivo /root/make/Makefile verá:
MYKERNEL=BILBO
Por que BILBO??? Eu gosto do Senhor dos anéis oras :-)
Mas na realidade o que ele espera encontrar com isto é um arquivo com as definicoes do kernel em
/usr/src/sys/i386/conf/BILBO
Mas você vai fazer o seguinte:
Edite o arquivo Makefile e coloque o nome que você quiser
MYKERNEL=FUNNY_KERNEL_NAME
Lembre-se quando você executar uname -a vai aparecer !!:
[root@bilbo root]# uname -a
FreeBSD bilbo.casablanca.intranet 4.5-STABLE FreeBSD 4.5-STABLE
#1: Thu Feb 21 21:20:52 BRT 2002
Portanto coloque um nome funny :-) Eu costumo por o mesmo nome da maquina !! continuando...:
cd /usr/src/sys/i386/conf/
cp GENERIC FUNNY_KERNEL_NAME
O próximo passo é editar este arquivo e colocar nele tudo que te interessa!!
Aconselho que de uma olhada nesta página :
vi FUNNY_KERNEL_NAME
Configure o "ident":
ident FUNNY_KERNEL_NAME
As opções que você precisa para habilitar o pppoe você pode por no final do arquivo...
veja
http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pppoe.html :
------------------------------------
options NETGRAPH #netgraph(4) system
options NETGRAPH_ASYNC
options NETGRAPH_BPF
options NETGRAPH_CISCO
options NETGRAPH_ECHO
options NETGRAPH_FRAME_RELAY
options NETGRAPH_HOLE
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_LMI
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options NETGRAPH_RFC1490
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_VJC
-----------------------------------
Veja por exemplo a configuração de kernel do meu firewall:
http://www.cbsp.com.br/pablo/freebsd/GANDALF
Ufa !! podemos voltar a diversão... Depois de ter o config do kernel devidamente configurado:
make kernel
E como dizem por ai vai tomar um cafezinho...
Quando terminar de compilar de um reboot na sua maquina !!
Se tudo der certo !! volte novamente ao diretorio /root/make e::
make install
E depois uma coisa bem chatinha que é o make merge !!!:
make merge
Ele vai juntar os arquivos de configuracoes novos aos atuais, Como se trata de uma instalação nova eu quase sempre mando instalar a nova versão...só tomando cuidado quando ele pergunta se quer reinstalar o /etc/passwd e ou /etc/groups porque senão ele zera seus usuários...
Enfim tenha o saco de ler cada pergunta que ele te faz e responder de acordo com a lógica :-)
Terminado o enfadonho make merge
Reboot novamente !!!
Execute o uname -a e veja com seus próprios olhos !! YESSSS sistema novo e up2date !!!
Nos fazemos isto com servidores remotos nos USA desde a versão 3.0 do Freebsd !! e funciona legal !! hoje estamos 4.5-stable :-)
Uma palavra final:
Atualize os ports também para a ultima versão::
cd /root/make
make ports
De tempos em tempos é bom dar uma atualizada nos ports...
E depois para ver o que precisa atualizar no seu sistema execute::
pkg_version -c
Esse tutorial lhe foi útil? Economizou tempo ou dinheiro? Que tal colaborar com o Cybershark? Qualquer dólar ajuda :) MUITO OBRIGADO!