 _____ _   _  ____ ____  ____  ____  ____      /(        )`
|  ___| | | |/ ___/ ___||  _ \| __ )|  _ \     \ \___   / |
| |_  | | | | |  _\___ \| |_) |  _ \| |_) |    /- _  `-/  '
|  _| | |_| | |_| |___) |  __/| |_) |  _ <    (/\/ \ \   /\
|_|    \___/ \____|____/|_|   |____/|_| \_\   / /   | `    \
                                              O O   ) /    |
-------------------------------------------   `-^--'`<     '
                                             (_.)  _  )   /
                                              `.___/`    /
Grupo Brasileiro de Usuarios FreeBSD            `-----' /
      http://www.fugspbr.org       <----.     __ / __   \
          FreeBSD LiveCD           <----|====O)))==) \) /====
            22/06/2002             <----'    `--' `.__,' \

* Objetivo?

O objetivo do FreeBSD LiveCD Toolset eh permitir a geracao de CDs personalizados do FreeBSD LiveCD, o FreeBSD LiveCD surgiu como uma necessidade interna do Grupo de Usuarios FreeBSD (www.fugspbr.org) , ele tinha o objetivo inicial de ser uma ferramenta de diagnostico, para ser utilizada em situacoes de emergencia, como um disco de recuperacao.

* Oque eh? 

Muitos nos perguntam o que e' o FreeBSD LiveCD, a resposta e' muito simples, ele nao e' nada mais que um conjunto de patches aos arquivos de inicializacao do sistema, os quais permitem que o sistema seja executado a partir do cd-rom, montando em MFS ou VNODEs os sistemas de arquivo que precisam ser do tipo Leitura/Gravacao, alem de poder ser utilizado para instalar de forma definitiva o FreeBSD no seu HD, nao sendo necessario nenhum disco adicional.

* Pre Requisitos?

Para usar os scripts de geracao do "FreeBSD LiveCD" vc precisa possuir uma maquina rodando FreeBSD, como o /usr/src sincronizado com o branch -stable do FreeBSD, alem de 2 Gb de espaco livre no seu /usr/local e do aplicativo mkisofs. Um gravador de CDs eh indispensavel para vc poder testar o seu CD, porem ele nao precisa estar obrigatoriamente na sua maquina FreeBSD.

* Como Utilizar ?

A utilizacao dos scripts bastante simples, ele consiste basicamente de 3 scripts:

- LiveCD/livecd.sh
- LiveCD/scripts/criar_vnodes.sh
- LiveCD/scripts/instalar_freebsd.sh

O script livecd.sh eh o script principal utilizado na geracao do CD, os outros dois sao scripts de apoio para serem utilizados num momento posterior a geracao do CD, quando voce ja estiver executando o LiveCD, sao opcionais.

* Uso do livecd.sh

Antes de executar o livecd.sh, voce precisa setar algumas variaveis no arquivo config, estas variaveis vao definir o diretorio no qual o ambiente do LiveCD sera criado, o diretorio no qual o ISO sera gerado, etc.

Ao executar o livecd.sh sera exibida um dialogo informando o valor setado nas variaveis do arquivo config, se estiverem corretas pressione ENTER para continuar, se alguma estiver incorreta cancele o processo com um Ctrl-C.

Sao 8 as etapas necessarias para a criacao de um LiveCD, para cada etapa existe uma entrada no menu principal do livecd.sh, basta executa-las na sequencia em que sao apresentadas e vc tera um CD ao final do processo.

As etapas "F" (gravar CD) e "C" (instalar aplicativos) sao opcionais.

Vc pode interromper o processo em qualquer etapa, retomando o processo de criacao num momento posterior, sem que seja necessario retomar do inicio, basta processigir apartir da ultima etapa concluida. 

* Uso do criar_vnodes.sh

Este script estara disponivel no /scripts do seu LiveCD, o objetivo do mesmo eh facilitar a criacao dos arquivos que podem ser utilizados para expandir as capacidades do seu LiveCD. Durante o boot do LiveCD ele ira tentar detectar e montar particoes do tipo FAT/NTFS/EXT2FS/UFS que existirem no seu disco. Uma vez que o LiveCD tenha conseguido identificar e montar uma particao do seu HD, vc podera criar "virtual nodes" nesta particao e usa-los para instalar aplicativos no seu LiveCD, salvar sua configuracao de forma permanente, etc.

Atraves do uso dos vn's vc podera ter um desktop 100% funcional sem precisar reparticionar seu HD para instalar o sitema, esta situacao eh ideal para aquelas pessoas que desejam experimentar o FreeBSD antes de instala-lo de forma definitiva.

Ao executar o script ele ira lhe perguntar qual o "mount point" no qual os arquivos .flp serao armazenados (por exemplo /mnt/dos.1), basta digitar o path desejado.

Na sequencia ele ira exibir um menu, no qual vc podera escolher quais arquivos .flp vc deseja criar, ao selecionar um dos arquivos disponiveis e presionar ENTER sera exibido um dialogo solicitando o tamanho em MB que voce deseja alocar.

Ao final do processo vc tera criado um arquivo .flp no subdiretorio "freebsd" do "mount point" escolhido, no proximo boot o LiveCD ira localizar esse arquivo e ira utiliza-lo ao inves de montar o diretorio em MFS.

* Uso do instalar_freebsd.sh

Este script estara disponivel no /scripts do seu LiveCD, atraves do uso deste script eh possivel  efetuar a instalacao do FreeBSD de forma permanente no seu HD.

Para poder utilizar este script para instalar o FreeBSD eh necessario atender os seguintes pre requisitos:

- Se o seu HD for IDE ele devera estar ligado na controladora IDE-0 (master primeira IDE)
- Nao possuir nenhum outro sistema operacional no HD. Se voce desejar instalar o FreeBSD juntamente com outro sistema operacional vc deve utilizar a midia padrao de instalacao, pois o script ira alocar 100% do disco para o FreeBSD, apagando toda e qualquer informacao que exista no HD.

Ao executar o script ele ira solicitar que voce confirme o disco no qual sera instalado o sistema, mesmo que exista mais de um HD ele ira exibir sempre o primeiro, ao escolher o disco sera apresentado uma sequencia de 3 dialogs solicitando o tamanho em MB que voce deseja alocar respectivamente para as particoes / , swap e /var respectivamente, o tamanho do /usr sera definido automaticamente com base no espaco livre restante em disco. Apos informar os tamanhos desejados, sera exibida uma janela de confirmacao, ao dar continuar nessa janela, o processo de instalacao eh irreversivel e todos os dados do HD sera apagados.

Dentro de alguns minutos o processo de instalacao estara concluido, remova o CD e de boot no seu computador. 

O script suporta execucao e modo nao interativo, ou seja, voce pode executa-lo passando todos os parametros necessarios pela linha de comando, por exemplo se voce executar:

/scripts/instalar_freebsd.sh ad0 300 256 1000

O script ira instalar o FreeBSD no disco ad0, criando um / com 300MB, um swap com 256 Mb, um /var com 1 Gb, e um /usr com o restante do disco. Ao executar dessa forma o script NAO SERA SOLICITADA NENHUMA CONFIRMACAO, DESTA FORMA CUIDADO!!!

* Uso do LiveCD como disco de recuperacao (Disaster Recovery)

A capacidade de instalar o FreeBSD apartir do LiveCD surgiu de uma necessidade interna do grupo de ter uma ferramenta que desse agilidade na reinstalacao de um servidor no caso de um problema de hardware.

Vc pode gerar uma versao personalizada do script de instalacao, de forma que o mesmo crie todas as particoes que voce precisa, somando-se a isso a possibilidade de instalar no LiveCD virtualmente todos os aplicativos que o seu servidor precisa (por ex: apache, postfix, bind, samba, etc) e a possibilidade de executar a instalacao em modo batch, vc tem no LiveCD a ferramenta ideal para recuperacao de servidores.

Vc pode criar um arquivo rc.local dentro do /etc do seu LiveCD chamando o script instalar_freebsd.sh e passando como parametro os dados necessarios para sua execucao em modo batch, com isso ao dar boot numa maquina com o CD do liveCD, vc iniciara automaticamente a instalacao do mesmo

Logo se voce criar um disco personalizado para o seu ambiente e mantive-lo atualizado, recuperar suas maquinas em caso de uma pane de disco, sera tao simples quanto dar boot usando um CD. Obviamente voce podera usar o mesmo principio para "clonar" servidores.

* Conclusoes

As possibilidades de uso que o LiveCD pode ter sao inumeras, os scripts podem ser personalizados/customizados de forma que sua criatividade eh o limite. De qualquer forma, seja como disco de demostracao, repair disk ou disco de instalacao, mais cedo ou mais tarde voce ira achar um motivo para ter uma versao sua do LiveCD, assim faca bom uso.

* Observacoes

Para o LiveCD funcione de forma adequada eh imoprtante que a memoria utilizada em seu computador seja de boa qualidade e se vc utilizar mais de 1 pente de memoria eh fundamental que elas sejam compativeis entre si. 

Usar o LiveCD em maquinas com hardware de ma qualidade pode ocoasionar travamentos ou comportamentos "estranhos" das aplicacoes (core dumps com signal 10 e 11), isso ocorre pois o uso de MFS demanda memorias confiaveis.

###########
O usuario padrao para acesso ao LiveCD caso voce tenha gerado o mesmo sem realizar nenhuma customizacao extra script livecd.sh eh root, com senha em branco.
###########

Edson Brandi
ebrandi.home@uol.com.br
