$FreeBSD: doc/en_US.ISO8859-1/articles/pxe/article.sgml,v 1.22
2003/12/19 15:53:55 blackend Exp $
FreeBSD is a registered trademark of the FreeBSD Foundation.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the " or the ® symbol.
AtençãoEste procedimento torna ambos os servidores inseguros e perigosos, é melhor manter o servidor em seu próprio hub, de forma a garantir que ele não estará acessível de nenhuma forma a outros equipamentos que não o cliente.
Terminologia:
| Servidor | O equipamento que está oferecendo o netboot e as opções de instalação. |
| Cliente | O equipamento no qual o FreeBSD será instalado. |
Requisitos: Clientes que suportem a opção de boot via rede (netboot) Intel PXE, e uma conexão Ethernet.
Por favor me deixe saber se você vier a ter algum problema na execução dos procedimentos aqui descritos, ou se você tiver alguma sugestão para adicional ao documento.
Se você desejar alguma pessoa para dar treinamento e/ou implementar um sistema de instalação via rede para você, por favor envie um email para que possamos discutir os termos.
Eu gostaria de agradecer ao Paul Saab <ps@FreeBSD.org> e John Baldwin <jhb@FreeBSD.org> por realizar
a maior parte do trabalho de programação no pexboot, a interface para o sistema
Intel PXE (netboot).
Instale o DHCP: Instale o net/isc-dhcp3, você pode utilizar este arquivo de configuração dhcpd.conf , copie-o para /usr/local/etc/ .
Habilite o tftp:
Crie o diretório /usr/tftpboot
Adicione esta linha ao seu /etc/inetd.conf:
tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /usr/tftpboot
Habilite o NFS:
Adicone está linha ao /etc/rc.conf:
nfs_server_enable="YES"
e esta ao /etc/exports:
/usr -alldirs -ro
De um reboot no servidor para habilitar os novos serviços, ou inicialize-os manualmente.
Faça download dos arquivos de boot: Faça download das imagens de disquete kern.flp e mfsroot.flp.
Configure o diretório tftp/pxe-boot:
Coloque o pxeboot no diretório de boot:
# rm -rf /usr/obj/* # cd /usr/src/sys/boot # make # cp /usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot
Utilize um vndevice para montar o arquivo kern.flp e copie o seu conteúdo para /usr/tftpboot:
# vnconfig vn0 kern.flp # associa um vndevice com um arquivo # mount /dev/vn0 /mnt # monta o vndevice # cp -R /mnt /usr/tftpboot # copia o conteudo para /usr/tftpboot # umount /mnt # desmonta o vndevice # vnconfig -u vn0 # desassocia o vndevice do arquivo
Compile um kernel customizado para os clientes (especialmente para evitar a tela de configuração de dispositivos no boot) e coloque-o no diretório /usr/tftpboot.
Crie um loader.rc especial o qual não solicite a inserção do segundo disco de boot, e o instale no /usr/tftpboot/boot/loader.rc , aqui está o meu.
Extraia o instalador e os utilitários de apoio do disco mfsroot, descompacte-os e coloque-os no /usr/tftpboot:
# vnconfig vn0 mfsroot.flp # associa o vndevice ao arquivo # mount /dev/vn0 /mnt # mounta o vndevice # cp /mnt/mfsroot.gz /usr/tftpboot # copia o conteúdo para /usr/tftpboot # umount /mnt # desmonta o vndevice # vnconfig -u vn0 # Desassocia o vndevice do arquivo # cd /usr/tftpboot # Entra no diretório do pxeboot # gunzip mfsroot.gz # descompacta o mfsroot
Crie o script install.cfg para ser utilizado em conjunto com o sysinstall, você pode utilizar o meu como um template, mas você precisa editá-lo adequando-o as suas necessidades.
Copie o script do sysinstall para a imagem extraida e descompactada do mfsroot:
# cd /usr/tftpboot # vnconfig vn0 mfsroot # mount /dev/vn0 /mnt # cp install.cfg /mnt # umount /mnt # vnconfig -u vn0
Coloque os arquivos de instalação em um local do servidor acessível por NFS. Crie um diretório que corresponda a diretiva 'nfs' do seu arquivo install.cfg e espelhe os arquivos de instalação do FreeBSD neste diretório, você terá algo semelhante a isto:
ABOUT.TXT TROUBLE.TXT compat20 floppies ports ERRATA.TXT UPGRADE.TXT compat21 games proflibs HARDWARE.TXT XF86336 compat22 info src INSTALL.TXT bin compat3x kern.flp LAYOUT.TXT catpages crypto manpages README.TXT cdrom.inf dict mfsroot.flp RELNOTES.TXT compat1x doc packages
Copie os pacotes compactados para o diretório packages/All debaixo do nfs.
Certifique-se de que você possui um arquivo INDEX preparado no diretório de pacotes. Você pode criar as suas próprias entradas no INDEX, as quais seriam semelhantes a esta:
alfred-1.0||/|Alfred install bootstrap||alfred@FreeBSD.org||||
Desta forma você poderá instalar pacotes customizados, particularmente o seu próprio pacote customizado de pós-instalação.
Você pode utilizar o script pkgmaker.sh para criar um pacote customizado de pós instalação, a idéia é mandá-lo instalar e configurar todos os itens que você necessitar/desejar. O pkgmaker deve ser executado no diretório acima do diretório do pacote que você deseja criar, utilizando como unico argumento o nome do diretório do pacote, por exemplo ao utilizar o argumento mypkg o script irá criar um arquivo mypkg.tgz, o qual deve ser incluido no seu script do sysinstall
Dentro do diretório do seu pacote customizado você precisará de um arquivo chamado PLIST o qual contém todos os arquivos a instalar e a serem incorporados no seu pacote.
Você também irá precisar dos arquivos chamados pre e post no diretório, eles são scripts shell os quais você deseja executar antes e depois que o seu pacote ser instalado.
Uma vez que este pacote esteja no seu install.cfg ele será instalado e efetuando a configuração final para você.
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.