jump to navigation

Instalação do Ubuntu 8.04 via Rede com TFTP 01/07/2008

Posted by Leandro Nunes in Software Livre, Ubuntu.
Tags: , , , , , , , ,
7 comments

Esse artigo é baseado na experiência pessoal de ter que instalar o Ubuntu 8.04 (Hardy) dispondo apenas de acesso dois computadores em rede com conexão à internet. Consultei vários artigos dos quais o principal é esse, do Hypercast.

O Procedimento para instalação via rede, basicamente, consiste em um servidor DHCP que fornece os arquivos necessários para o boot. Vamos chamar aqui de “servidor” a estação que fornecerá os arquivos para o boot, e “cliente” a máquina que fará o boot remoto para a instalação.

Requisitos

  • Uma máquina com Ubuntu já instalado
  • Uma máquina onde o Ubuntu vai ser instalado
  • Conexão à internet configurada (banda larga facilita as coisas…)

Passo 1 – Obtendo e instalando os arquivos mínimos necessários

Faça o download do Ubuntu ALTERNATE, que suporta boot remoto.

Recomendo o mirror Ubuntu-BR: http://www.ubuntu-br.org/download

Se você está se perguntando: mas e como raios eu baixo esse Ubuntu Alternate ? A resposta vem logo abaixo. Simples, na tela de download do Ubuntu, basta marcar a opção logo abaixo do botão de início do download, como mostra a figura abaixo.

Feito isso, agora faça o download da distribuição na máquina “servidor” clicando no botão “Começar o download” (se neste ponto você não sabe que máquina é “servidor”, por favor, leia o artigo desde o começo)

…mas se você SÓ TEM ACESSO MODO TEXTO (se não é o seu caso, ignore este passo) utilize o wget, dessa forma:

# wget http://releases.ubuntu.com/hardy/ubuntu-8.04-alternate-i386.iso

Supondo que você já tem na máquina “servidor” um Ubuntu funcionando, instale os seguintes pacotes:

# sudo apt-get install apache2
# sudo apt-get install tftpd-hpa
# sudo apt-get install dhcp3-server

Agora você tem todos os arquivos necessários para montar seu repositório local e disponibilizar o boot remoto, vamos para a configuração!

Passo 2 – Configurando o repositório

Neste ponto, você deve estar com o arquivo do Ubuntu Alternate já em seu computador (ah! não esqueça de fazer um md5 para se certificar que o download foi feito corretamente) para isso:

# sudo apt-get install sleuthkit
# md5 ubuntu-8.04-alternate-i386.iso

O md5 para esta versão é 166991d61e7c79a452b604f0d25d07f9 , confira para não se arrepender depois ;)

E vamos para a configuração: primeiro devemos copiar nossa imagem para o diretório do tftp. Depois montamos a imagem num diretório previamente criado para copiarmos alguns arquivos que serão carregados durante o boot nas estações remotas. O roteiro é esse:

# sudo mv ubuntu-8.04-alternate-i386.iso /var/lib/tftpboot
# cd /var/lib/tftpboot
# sudo mount -o loop ubuntu-8.04-alternate-i386.iso ubuntu/
# sudo cp -R ubuntu/install/netboot/ubuntu-installer .
# sudo cp ubuntu-installer/i386/pxelinux.0 .
# sudo cp -R ubuntu-installer/i386/pxelinux.cfg .

* note que nos últimos três comandos o último parâmetro é o “diretório atual” representado pelo ponto “.”, se você esquecer nada disso vai funcionar!

Dica: Execute um ls -l para verificar a presença do arquivo pxelinux.0 e do diretório pxelinux.cfg

Edite o arquivo de configuração /etc/default/tftpd-hpa modificando para que fique semelhante a isso:

RUN_DAEMON=”yes”
OPTIONS=”-l -s /var/lib/tftpboot”

A última fase é iniciar o serviço TFTPd. Como fazer ?

# sudo /etc/init.d/tftpd-hpa start

Tudo certo !? Ok… vamos para a próxima fase…

Passo 2 – Configurando o servidor DHCP

Dica: se você tem um roteador que já faz DHCP, é recomendável que você desative-o.

Se você até hoje nunca mexeu em um servidor DHCP, recomendo fortemente que você faça um backup do arquivo padrão do servidor DHCP (caso venha a precisar no futuro).

# sudo mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.old

A próxima tarefa é escrever um novo /etc/dhcp3/dhcpd.conf, com o seguinte conteúdo.

ddns-update-style none;
option domain-name-servers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
   range 192.168.0.200 192.168.0.210;
   filename “pxelinux.0″;
   option routers 192.168.0.1;
}

Então inicie o serviço DHCP

#sudo /etc/init.d/dhcp3-server start

Passo 3 (e último…) – Disponibilizando os arquivos do repositório

Da maneira mais simples possível, crie um link simbólico para o diretório montado com o Ubuntu no servidor http Apache, com os seguintes comandos:

# cd /var/www
# sudo ln -s /var/lib/tftpboot/ubuntu/

Agora você pode ligar a(s) máquina(s) cliente, com o boot configurado para a placa de rede, que a instalação será carregada…

Enjoy!