Bom dia pessoal.

Agradecendo a ajuda de todos, venho aqui relatar em algumas linhas o que
tive que fazer para configurar uma solução de Boot Remoto sem utilizar um
servidor DHCP.

Pra quem não pegou o assunto anterior, ficaria a pergunta: Porque utilizar
Boot Remoto sem DHCP?

Resposta:
- Aqui na empresa o ambiente é Windows. Os servidores DHCP, DNS, Wins e etc
são todos windows.
- Não sou o administrador destes servidores e não tenho poder para mudar as
configurações atuais para atender um ambiente LTSP.
- Não posso mudar a Topologia da rede para isolar um ambiente LTSP (alterar
switches, criar Vlans, portas, etc...)
- Tenho só meia dúzia de computadores para fazer um esquema de LTSP. Estes
computadores são quiosques espalhados pela empresa.

A principal dificuldade era setar IP's fixos nos quiosques, e indicar o
arquivo de inicialização, sem utilizar um servidor DHCP.
Obviamente também não poderia utilizar PXE, então tive que utilizar
disquetes.

Encontrei duas soluções:
- GRUB com suporte a rede;
- Etherboot: http://rom-o-matic.net com USE_STATIC_BOOT_INFO;

O Grub por padrão não vem com suporte a rede, então tive que baixar o código
fonte e compilar com a opção --enable-<nic>.
- copiar os arquivos stage1 e stage2 para um disquete e gerar um
menu.lstcom o conteúdo:

title Boot Remoto Rede
ifconfig --address=<IP do Terminal> --mask=<máscara de rede>
--server=<servidor de boot remoto>
configfile (nd)/menu.lst


A linha "configfile (nd)/menu.lst" indica outro arquivo menu.lst, que fica
no servidor, que contém o seguinte:

title Boot Remoto
kernel (nd)/2.6.20.9-ltsp-1/bzImage-2.6.20.9-ltsp-1
initrd (nd)/2.6.20.9-ltsp-1/initramfs.gz

Ou seja, os kerneis propriamente ditos. Obs: Os dois arquivos poderiam ser
um só, somente no disquete, mas manter separado facilita nos testes, sem
precisar montar disquete, alterar, e desmontar.

OK, mas no momento de carregar este novo kernel, o initramfs contém um
cliente dhcpcd para pegar o IP. Então tive que fazer o seguinte:
- Descompactar o initramfs;
- Editar o arquivo init;
- comentar as linhas referentes ao dhcpcd;
- Fixar o ip através do ifconfig (que já tem no initramfs);
- Configurar rotas (o route também tem no initramfs);
- Compactar o initramfs;

OBS.: Até poderia deixar o initramfs pegar o IP através do DHCP, pois não
precisaria de nenhuma configuração extra do DHCP. Porém, tive problemas com
o modulo tulip novamente, que dava TX Timeout no momento de buscar o
servidor DHCP. O jeito foi fixar o IP mesmo.

Bem, basicamente é isto.

Algumas considerações:

- O GRUB não consegue carregar um arquivo vmlinuz (bzImage + initramfs),
pois o mesmo é muito grande, por isto o bzImage e o initramfs separados;
- O Etherboot consegue carregar um arquivo vmlinuz, porém dava erro com as
placas de rede que utilizam o módulo tulip. Dá erro de TX Timeout! logo no
boot, ao tentar buscar o menu.lst na rede.

Realmente, dá um trabalhão criar um disquete para cada terminal (por causa
do IP Fixo), sem contar que o initramfs também tem IP Fixo, o que
teoricamente, teria que ter um initramfs para cada terminal.

Quem quiser mais detalhes, fico à disposição. Pretendo publicar este
material em algum site como o Viva o Linux.

Algumas referências que utilizei:


  - Terminais leves com o LTSP - Atualizado para o LTSP 4.2:
  http://www.guiadohardware.net/guias/17/
  - Howto boot via network with gnu grub netboot disk:
  
http://www2.informatik.hu-berlin.de/~draheim/boot/grub-netboot.html<http://www2.informatik.hu-berlin.de/%7Edraheim/boot/grub-netboot.html>
  - ROM-o-matic.net for Etherboot version 5.4.3:
  http://rom-o-matic.net/5.4.3/
  - LTSP-4: http://ltsp.sourceforge.net/ltsp-4-pt-br.html
  - LTSP - Linux Terminal Service Project: http://www.ltsp.org/
  - Knoppix Network Boot Floppy with GRUB:
  http://homepage.hispeed.ch/py430/knoppix/knx-netboot.html
  - Network-booting Your Operating System:
  http://www.openbg.net/sto/os/xml/netboot.html
  - HOWTO Initramfs:
  http://gentoo-wiki.com/HOWTO_Initramfs#Consult_initramfs_content
  - Tech Tip: How to use initramfs:
  http://www.timesys.com/timesource/initramfs.htm







--
Gerson Henrique Diesel
MSN - [EMAIL PROTECTED]

Responder a