Galera, apesar de ter umas ferramentas para facilitar a cria��o de liveCDs ou releases do FreeBSD, eu queria fazer um na m�o que funcionasse de verdade. Tentei usar o rc.diskless, fiz mudancas no loader.rc e no loader.conf para mudar o root para o CD, e tudo mais, mas n�o funcionava nem a pau. Misturei uns 20 tutoriais e no final sa� com esta f�rmula torpe, mas que funcionou. Ent�o repasso para voc�s. Basicamente acabei usando as informa��es de apenas 2 tutoriais (citados ao final).
========================================================================= Criando um liveCD do FreeBSD Autor torpe: Pablo Santiago S�nchez 1 - Crie um subdiret�rio chamado livecd (por exemplo, pode ser o nome que voc� quiser) 2 - Crie a estrutura m�nima de diret�rios conforme a lista abaixo / |-- bin |-- boot | `-- defaults | `-- kernel |-- dev |-- etc | |-- defaults | |-- mtree | |-- namedb | |-- ppp | |-- ssh | `-- ssl |-- mnt |-- modules |-- proc |-- root |-- sbin |-- tmp -> /var/tmp (fa�a um link simb�lico para o /var/tmp, fica mais f�cil depois na cria��o dos ram disks) |-- usr | |-- bin | |-- lib | `-- aout | |-- libexec | |-- local | `-- etc | |-- sbin | `-- share | `-- misc `-- var 3 - Copie todos os execut�veis,bibliotecas e configura��es requeridas, respeitando a posi��o original dos mesmo (ex: /bin/ls => livecd/bin/ls, /etc/rc.conf => livecd/etc/rc.conf). Se quiser, pegue os scripts perl deste site para facilitar sua vida: http://neon1.net/misc/minibsd.html 4 - Fa�a todas as altera��es necess�rias dentro do diretorio livecd/etc (resolv.conf, rc.conf, etc) e crie todos os subdiret�rios e arquivos necess�rios no /var. Ap�s tudo pronto, compacte os diret�rios (ex: tar -jcpf var.tbz /var) e coloque os arquivos tbz dentro do diret�rio /mdfs. Esse passo � importante pois tais diret�rios precisam permiss�o de escrita e devem ser criados em mem�ria durante o boot, conforme descrito mais abaixo. � aconselh�vel que o liveCD seja configurado para utilizar DHCP e que exista um servidor DHCP na sua rede. 5 - Recompile seu kernel acrescentando as op��es options CD9660 options ROOTDEVNAME=\"cd9660:acd0\" device md 6 - Copie seu kernel para o diretorio livecd/boot/kernel. Se quiser, voc� pode compact�-lo fazendo "gzip -9 kernel" e copiar o kernel compactado (kernel.gz) para o diret�rio citado. O FreeBSD consegue entender que o kernel est� compactado e utiliz�-lo mesmo assim. Copie tamb�m todos os m�dulos necess�rios. 7 - � imposs�vel criar um FreeBSD que n�o precise de �reas de escrita. Essas �reas ser�o criadas utilizando o recurso de md (Memory Disks). Para tal � preciso fazer v�rias mudan�as dentro do /etc. a - no arquivo rc, adicione a seguinte linha, logo ap�s a linah que cont�m . /etc/rc.subr sh /etc/rc.d/rc.livecd.diskless b - Crie agora o arquivo livecd/etc/rc.d/rc.livecd.diskless e edite-o da seguinte forma (voc� pode mudar o tamanho dos discos de acordo com suas necessidades): #!/bin/sh echo -n "Swap" mdconfig -a -t malloc -o compress -s 20m -u 0 swapon /dev/md0 # /etc echo -n "MDfs 1" mdconfig -a -t malloc -o compress -s 2m -u 1 newfs -U -O 2 md1 > /dev/null 2>&1 # /usr/local/etc echo -n "MDfs 2" mdconfig -a -t malloc -o compress -s 1m -u 2 newfs -U -O 2 md2 > /dev/null 2>&1 # /var echo -n "MDfs 3" mdconfig -a -t malloc -o compress -s 2m -u 3 newfs -U -O 2 md3 > /dev/null 2>&1 # /etc echo -n "MDfs 4" mdconfig -a -t malloc -o compress -s 2m -u 4 newfs -U -O 2 md4 > /dev/null 2>&1 # montando todos os MDfs's mount -a # descompactando os arquivos dos MDfs's echo -n " tgz[var" tar -xjpf /mdfs/var.tbz -C / echo -n ",etc" tar -xjpf /mdfs/etc.tbz -C / echo -n ",local-etc]" tar -xjpf /mdfs/local-etc.tbz -C/ echo -e "\n" c - Altere agora seu /etc/fstab deixando-o da seguinte forma: #Device Mountpoint FSType Options Dump Pass /dev/acd0 / cd9660 ro 0 0 proc /proc procfs rw 0 0 #MDfs's /dev/md1 /etc ufs rw 0 0 /dev/md2 /usr/local/etc ufs rw 0 0 /dev/md3 /var ufs rw 0 0 /dev/md4 /root ufs rw 0 0 d - se voc� precisa est� usando FreeBSD 5.x pra cima, copie o execut�vel /sbin/rcorder para dentro de livecd/sbin/rcorder 8 - Copie do CD original o seguinte arquivo, respeitando a posi��o dentro do livecd: /boot/cdboot 9 - Gere o ISO e queime o CD. Aconselho a utilizar um CD-RW, pois com certeza algo foi deixado de fora e voc� ver� v�rios erros no primeiro boot. Corrija-os e queime um novo CD. Para gerar o ISO, utilize o seguinte comando: mkisofs -b boot/cdboot -no-emul-boot -c boot/boot.catalog -r -J -V "LiVeBSD" -o live.iso livecd e para gravar o cd burncd -f /dev/acd0 data live.iso fixate 10 - Tornando seu liveCD algo �til: Voc� tem v�rias motivos para fazer um liveCD 1 - Um firewall com regras bem definidas que n�o devem ser alteradas e que possam ser rapidamente reativadas caso o servidor sofra um DoS, apenas resetando ele (qualquer oreia seca pode resetar para voc�) 2 - Uma mini-instala��o padr�o para sua rede, acrescentando um script para transfer�ncia e ativa��o da instala��o em um HD (lembre que no caso voc� ter� que compilar outro kernel). 3 - Uma mini-instala��o com a qual voc� possa utilizar qualquer computador onde quer que v�, j� com as ferramentas que voc� est� acostumado. 4 - Uma demo de um produto utilizando FreeBSD (ex: um sistema que requer um servidor Apache com PHP e banco de dados MySQL) 5 - Uma mini-instala��o com ferramentas de auditoria e recupera��o. 6 - Tirar onda com o pessoal do Linux mostrando seu LiveCardCD (minha micro instala��o ficou com apenas 22MB e tem de tudo: servidor web, proxy, servidor de e-mail, firewall, vpn, suporte pra som, etc., s� n�o tem X - ainda, hehehe, to tentando fazer a vers�o mais pequena e rid�cula de simples existente - s� suporte vesa e coisa e tal, tipo o Damn Small Linux) 7 - Sei l�! Inventa! 11 - Webliografia http://neon1.net/misc/minibsd.html <- mostra como selecionar os arquivos e montar a estrutura de diret�rios para o seu liveCD http://alf.dyndns.ws/numero3/articulo01.php <- mostra como fazer os MDs -- Pablo Santiago S�nchez ========================================== Coordenador de Desenvolvimento e Sistemas Minist�rio das Cidades ========================================== Microsoft: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "What are you doing back there? Are you coming or what?" _______________________________________________________________ Para enviar um novo email para a lista: [EMAIL PROTECTED] Sair da Lista: http://lists.fugspbr.org/listinfo.cgi Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
