Parabéns pelo trabalho Gerson. E se você não tivesse dito que iria
publicá-lo eu o incentivaria agora. Aliás, outro local  onde  pode ser
publicado e no Dicas-L.

Sucesso.

CR

Em 13/06/07, Gerson Henrique Diesel <[EMAIL PROTECTED]> escreveu:

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]




--
CARLOS RIBEIRO
Linux user: 183572
São Luís - Maranhão - BR

Responder a