Guia de Jumpstart para o FreeBSD

$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.

Este artigo detalha o método utilizado para permitir que se instale o FreeBSD em equipamentos que utilizem o método Intel® PXE para dar boot no equipamento através da rede.


1. Introducão

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 e John Baldwin por realizar a maior parte do trabalho de programação no pexboot, a interface para o sistema Intel PXE (netboot).


2. Configuração do Servidor

  1. Instale o DHCP: Instale o net/isc-dhcp3, você pode utilizar este arquivo de configuração dhcpd.conf , copie-o para /usr/local/etc/ .

  2. Habilite o tftp:

    1. Crie o diretório /usr/tftpboot

    2. Adicione esta linha ao seu /etc/inetd.conf:

      tftp    dgram   udp     wait    nobody  /usr/libexec/tftpd    tftpd /usr/tftpboot
      
  3. Habilite o NFS:

    1. Adicone está linha ao /etc/rc.conf:

      nfs_server_enable="YES"
      
    2. e esta ao /etc/exports:

      /usr -alldirs -ro
      
  4. De um reboot no servidor para habilitar os novos serviços, ou inicialize-os manualmente.


3. Configuração do Bootstrap

  1. Faça download dos arquivos de boot: Faça download das imagens de disquete kern.flp e mfsroot.flp.

  2. Configure o diretório tftp/pxe-boot:

    1. 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
      
    2. 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
      
  3. 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.

  4. 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.

  5. 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
    
  6. 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.

  7. 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
    

4. Preparando a instalação

  1. 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
    
  2. Copie os pacotes compactados para o diretório packages/All debaixo do nfs.

  3. 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.


5. 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>.