The FreeBSD FAQ - The Power to Help
The FreeBSD FAQ - The Power to Help
This site is Powered by PAR Teleon

S E Ç Õ E S
B U S C A
+
D E S T A Q U E
CONTATO
PÁGINA ANTIGA
TELEON INTERNET
E N Q U E T E
Se apos a conclusao, a traducao da documentacao oficial do FreeBSD, fosse impressa em livro, voce:

Usaria apenas a documentacao na internet como referencia.Faria o download de toda a documentacao na internet e imprimiria eu mesmo.
Compraria o livro, para te-lo em maos, mas usaria a referencia na internet com maior frequencia do que o livro.Compraria o livro, e seria minha unica referencia.
Compraria varias copias do livro e daria de presente a varias pessoas que deveriam ser devidamente catequisadas.







Jean M. Melo © - 2001
Todos os direitos reservados






H O W   T O 


Índice


24/09/04 14:43 - Criando um liveCD do FreeBSD


Pablo Santiago Sanchez


1. Preparação
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
	|--mdfs
	|--mnt
	|--modules
	|--proc
	|--root
	|--sbin
	|--tmp -> /var/tm
	|--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 diretório 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 diretrios (ex: tar -jcpf 
var.tbz /var) e coloque os arquivos tbz 
dentro do diretório /mdfs. Os diretórios que 
devem ser compactados são o /etc, /usr/local/etc 
e /var (caso tenha configurações definidas 
para o root, compacte também o /root). 
Este passo é muito 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. 

2. Memory Disks (MDs)
1 - É 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 linha 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 
(lembre-se de tar permissão de execução 
ao mesmo) e edite-o da seguinte forma: 
	#!/bin/sh
	# swap
	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:
	/dev/acd0	/			cd9660	ro		0	0
	proc		/proc			procfs	rw		0	0
	/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ê está usando FreeBSD 5.x pra 
cima, copie o executável /sbin/rcorder 
para dentro de livecd/sbin/rcorder
 
3. CD Bootável
Copie do CD original o seguinte arquivo, 
respeitando a posição dentro do livecd: 
	/boot/cdboot => livecd/boot/cdboot 

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 até que tudo esteja em ordem. 
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

4. Notas Finais
- Tornando seu liveCD útil: 

Você tem vários motivos para fazer um liveCD.
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 voce) 

     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 voce) 

     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 removendo o root do HD). 
     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 
a usar. 
     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, estou 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!

5. Webliografia
http://neon1.net/misc/minibsd.html
http://alf.dyndns.ws/numero3/articulo01.php 

Pablo Santiago Sanchez




Entrar em contato Enviar este artigo a um amigo Preparar para impressão Índice Topo da página


 

PrincipalBusca AvançadaEnqueteContatoTeleon Internet  
Enquetes antigas | FAQ | FreeBSD Desktop | Informacoes | Links | How To