Assim como disse em minha última postagem, agora irei tratar do netboot.
Bom, para ganhar tempo, o que eu precisava era de uma forma de dar boot no "CD de instalação" (na realidade, na imagem ISO do mesmo) através da rede e, a partir daí, instalar o sistema.
A fonte que usei como base foi:
Tópico "Servidor de Instalação Automático Ubuntu para Windows e Linux", no "Fórum Ubuntu Linux - PT", criado pelo usuário "Fernando Jonathan".
A própria documentação do Ubuntu tem informações sobre o assunto, mas da forma que lá estava não consegui ir muito adiante.
O que virá a seguir será basicamente uma "cópia" do conteúdo do tópico, da parte do boot pela rede, possuindo apenas algumas alterações pelo fato de eu utilizar o Ubuntu 10.04, não o 9.04. A parte (no tópico) que fala de preseed usando o KickStart não me foi útil, pois o mesmo, ao menos no aplicativo gráfico (que gera o arquivo "ks.cfg"), não oferecia tudo o que eu precisava.
Mãos à obra!!!
Primeiramente será necessário baixar a imagem do Ubuntu 10.04 alternate (a versão "desktop" comum não serve para preseed), que pode ser encontrada aqui, e instalar o dhcp3-server, o tftpd-hpa e o apache2.
sudo apt-get install dhcp3-server tftpd-hpa apache2
Tendo sido terminado o download e a instalação, agora vamos configurá-los.Começando pelo tftpd, vá até o arquivo /etc/default/tftpd-hpa e adicione as seguintes linhas:
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
Já existem algumas opções no arquivo em questão, as quais não necessitam ser alteradas.Crie, dentro de "/var/lib/tftpboot/" o diretório "ubuntu" (sem aspas), dentro deste último o diretório "lucid" (sem aspas), e dentro dele o "alternate" (sem aspas).
/var/lib/tftpboot/ubuntu/lucid/alternate/
Jogue a imagem do Ubuntu 10.04 alternate dentro de "/var/lib/tftpboot/ubuntu/lucid" e monte-a na pasta "alternate". sudo mount -o loop /var/lib/tftpboot/ubuntu/lucid/[nome da imagem].iso /var/lib/tftpboot/ubuntu/lucid/alternate/
Vale ressaltar que não é necessário seguir essa estrutura de diretórios da forma que foi citada (/ubuntu/lucid/alternate/)! Você pode alterá-la como quiser, desde que as pastas estejam dentro de "/var/lib/tftpboot/" e você altere todas as referências para as mesmas.
Agora, com relação ao Apache, será necessário criar um atalho na pasta "/var/www/" (do apache) para "/var/lib/tftpboot/ubuntu/":
sudo ln -s /var/lib/tftpboot/ubuntu/ /var/www
Para testar se está tudo certo, através do seu navegador, tente acessar "http://[meu ip]/ubuntu" (sem aspas). Se estiver aparecendo o diretório "lucid", até aqui tudo OK.
No caso do DHCP, é preciso alterar os seguintes itens do arquivo "/etc/dhcp3/dhcpd.conf" de modo a atender suas necessidades:
##Informação do dominio
option domain-name "meudominio.com";
option domain-name-servers 192.168.0.1;
##Informação da Rede
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.250;
option routers 192.168.0.1;
}
Não feche o editor ainda, pois será feita mais uma alteração! Caso tenha dúvidas sobre como configurar o dhcpd.conf, você pode dar uma olhada aqui e/ou aqui (especificamente sobre o dhcp3-server, que, pelo que pude ver, de diferente mesmo só tem a localização dos arquivos).
Agora, logo após os ítens citados anteriormente, ainda no dhcpd.conf, adicione a seguinte linha, que aponta para o arquivo "pxelinux.0" da imagem montada:
filename="ubuntu/lucid/alternate/install/netboot/pxelinux.0";
Uma observação:No tópico utilizado como base para este "passo-a-passo" é dito para trocar o ip do servidor para "192.168.0.1", por ser uma definição padrão, sendo o "1" dentro da subrede, mas não precisa ser isso. No meu caso, por exemplo, usei "192.168.[subrede local].[outro número]", até porque já existe um "192.168.[subrede local].1", que é "O" servidor DHCP da rede. O que uso para o netboot é apenas para tal função, sendo "ativado" só quando vou fazer uma instalação uma instalação automática, já que dois servidores DHCP em uma mesma rede, da forma que foi abordada, só resultaria em dor de cabeça.
Dando continuidade, agora é só reiniciar o servidor DHCP:
sudo /etc/init.d/dhcp3-server restart
Se tudo estiver correto até aqui, provavelmente você já será capaz de dar boot pela rede! Faça o teste!
Se não conseguir, revise todos os pontos citados e veja se alguma coisa está incorreta. Caso tenha dúvidas, COMENTE! Se encontrar algum erro ou achar interessante adicionar algo a esta postagem, COMENTE!
Observação adicional:
Para montar a imagem automaticamente ao iniciar o sistema, basta adicionar a seguinte linha ao arquivo "/etc/rc.local" (para saber como ele funciona, basta ler os comentários presentes no mesmo... ele é um script, não há mistério):
mount -o loop /var/lib/tftpboot/ubuntu/lucid/[nome da imagem].iso /var/lib/tftpboot/ubuntu/lucid/alternate/
Bom, por enquanto é tudo. Logo aparecerei com o preseed!
Espero que tenham gostado e que as informações contidas neste post venham a ser úteis!
Migração Linux - parte 1 / Migração Linux - parte 3
As formatações efetuadas nos comandos e trechos de arquivos de configuração foram geradas utilizando a "ferramenta" Source Code Formatter, encontrada neste link.