booteX

O booteX é uma micro-distribuição de GNU/Linux que cabe num disquete, contém a interface gráfica X Windows e permite utilizar computadores antigos e sem disco rígido como terminais leves.

Como é que é?

Os computadores construídos atualmente possuem um poder de processamento e armazenamento muito maiores do que o uso diário deles requer, ou seja, ler email, navegar na internet, fazer um desenho ou escrever um texto são tarefas que subutilizam a capacidade das máquinas novas.

A idéia da construção de um telecentro utilizando a Metareciclagem é exatamente de distribuir esse poder de processamento de máquinas novas com computadores antigos, para os quais a simples edição de um texto usando um programa moderno é uma tarefa penosa. O resultado é um telecentro com vários computadores capazes de utilizar a maior parte dos programas modernos.

Esse aproveitamento de computadores pode ser feito de várias maneiras. Como hoje em dia os ambientes gráficos são a forma mais popular de uso de um computador, as tecnologias criadas para metareciclar computadores refletem essa popularidade e possibilitam que as máquinas lentas também atuem como estações de trabalho gráficas através do seguinte esquema:

Tudo o que um terminal leve faz é enviar toda a interação do usuário -- movimento do mouse e digitação no teclado -- para o servidor através dessa rede interna e imprimir na tela tudo o que o servidor enviar de volta. Isso implica que o terminal leve apenas cuida da parte física do seu computador -- teclado, mouse e monitor --, enquanto que o servidor faz o serviço pesado de executar todas as tarefas, o que significa que todos os programas são sempre executados no servidor.

  _______________
 |               |
 | terminal leve |------.
 |_______________|      |
                        |
  _______________       |        ___________
 |               |      |       |           |
 | terminal leve |-----rede-----| servidor  |
 |_______________|      |       |___________|
                        |
  _______________       |
 |               |      |
 | terminal leve |------'
 |_______________|

O desenho acima mostra um exemplo de ligação em rede de três terminais leves e um computador mais rápido, a máquina servidora, que roda um programa conhecido como Servidor X Window. As máquinas leves rodam um Cliente X Window.

O X Window é um ambiente gráfico baseado no modelo de cliente servidor: um programa cliente cuida do gerenciamento dos recursos físicos de um computador -- teclado, mouse, monitor, por exemplo -- enquanto que o servidor lida com os programas. Num sistema GNU/Linux o cliente e o servidor estão rodando ao mesmo tempo, mas nada impede que cada um desses programas fiquem em computadores diferentes.

O booteX nada mais é do que um disquete que contém um cliente X Window que pode acessar um servidor X em qualquer computador de uma rede. Ele também pode ser armazenado num cd, num disco rígido ou num chaveiro usb. O importante dele é o fato de ser pequeno, usar pouca memória e permitir que se utilize um computador sem disco rígido como terminal leve.

Outros projetos que funcionam de forma semelhante ao booteX são o LTSP e o DRBL, porém ambos são mais complexos e demandam um maior esforço de configuração.

Funcionamento do booteX

À semelhança do LTSP, o booteX requer que você possua no mínimo dois computadores:

Ambos os computadores precisam ter placas de rede e estar conectados entre si de alguma forma (cabo de rede ligando uma máquina na outra ou cada máquina ligada numa porta de um HUB ou Switch). O booteX, até o momento da escrita deste texto (20/01/2006), não possui suporte a placas de rede ISA (consulte http://bootex.sarava.org para uma informação mais atualizada).

No servidor, as seguintes configurações devem ser efetuadas:

Já o terminal leve precisa apenas de um disquete com booteX. Quando o booteX é iniciado, ele perguntará ao usuário algumas configurações:

Em seguida, o booteX inicia a interface gráfica, que por sua vez se conecta ao servidor e permite que o terminal leve funcione como um computador normal, ou quase :)

Configuração passo a passo do booteX

O servidor e o cliente precisam de um mínimo de configuração para que o sistema funcione. Nesta seção estão os detalhes de configuração de cada parte do esquema (lembrando que, como resultado final, o todo será bem mais do que a mera composição das partes): a rede, o servidor e os terminais leves.

Montagem da rede

Certifique-se de que todos os computadores que participarão da brincadeira estão ligados entre si. Para isso você precisará de cabos de rede (RJ 45, fibra ótica...) e de algo que ligue tudo (um switch ou hub). Um esquema com apenas dois computadores dispensa o hub ou switch e pode consistir simplesmente de um cabo RJ 45 cruzado com cada ponta ligada na placa de rede dos dois computadores.

Mais detalhes sobre como montar essa estrutura física da rede você pode encontrar em outras seções deste sítio. Quem souber onde, por favor edite isto e coloque o link aqui, ok?

Configuração da máquina servidora

O computador que for atuar com servidor pode rodar qualquer sistema operacional que suporte alguma implementação do X Window System. Isso quer dizer, por exemplo, que você pode pegar um disco de instalação da sua distribuição preferida de GNU/Linux, como o Ubuntu ou o Debian BR. Se você já tem um sistema desse tipo instalado no seu computador, certifique-se que:

Configuração do ambiente gráfico

Neste tutorial assumiremos que você possui o Gnome (o que não implica que você o esteja efetivamente usando) e que o gerenciador gráfico de entrada (login) é o GDM. Se você está utilizando o Ubuntu, o Debian Sarge ou o Debian BR é quase certo que seu sistema satisfaz tais requisitos.

Nesse, caso, abra um terminal do seu sistema e dê o seguinte comando:

sudo gdmsetup

Em seguida entre com sua senha. Esse comando nada mais faz do que executar o gdmsetup (programa de configuração do gerenciador gráfico GDM) com privilégios de usuário administrativo (sudo). Se o comando acima não funcionar, experimente

su -c "gdmsetup"

e entre com a senha de administrador. Se tudo der certo, aparecerá uma janela mais ou menos parecida com as figuras abaixo.

Você precisará alterar poucas coisas:

Você pode brincar com as outras opções ou até usar os valores que estão nas figuras acima, mas o principal são essas três opções. Depois de alterá-las, feche o gdmsetup e reinicie sua sessão gráfica para que essas configurações sejam aplicadas.

Configuração da rede

O segundo e último passo na configuração do servidor é a rede, que além de precisar estar configurada, precisa permitir que outros computadores se conectem ao servidor para fazerem sessões gráficas. Tal configuração é desnecessária em várias distribuições que já vem com a rede aberta, mas se você se preocupa com a segurança do sistema, é melhor efetuá-la.

Tal configuração é feita com a edição do arquivo /etc/hosts.allow, que contém uma tabela de todos os IPs ou nomes de servidores que podem ser conectar a um determinado serviço da máquina.

Por questões de segurança, permitiremos apenas que os computadores da rede interna que você montou possam se conectar ao servidor. Supondo que todos os números IP da sua rede interna sejam da forma 192.168.0.x, adicione a seguinte linha no seu /etc/hosts.allow.

gdm:       192.168.0.

Isso deverá ser suficiente para que apenas as máquinas da sua rede interna consigam se conectar. Se você quiser que qualquer máquina de qualquer rede acessível pelo servidor possa fazer sessões gráficas nele, use, ao invés da linha anterior, a seguinte:

gdm:       ALL

Pronto, agora seu servidor está configurado e pronto para oferecer uma sessão gráfica :)

Configurações opcionais

Se você quiser algo mais chique, configure também um servidor dhcp na sua rede (caso já não exista um). Esse servidor fará com que todas as máquinas ganhem automaticamente uma configuração de rede toda a vez que forem iniciadas, algo que facilita o uso do booteX nos terminais leves.

Configuração dos terminais leves

Os terminais leves não precisam de configuração prévia, se bem que é possível criar disquetes do booteX com todas as seguintes configurações prontas:

Você pode gravar todas essas informações num disco do booteX ou então digitá-las cada vez que o terminal leve for ligado.

Baixando o booteX

O booteX pode ser baixado de http://bootex.sarava.org/download/. Consulte sempre o sítio do booteX para saber que é a última versão estável.

Gravando o booteX

O booteX pode ser utilizado via disquete, cd, chave usb ou até num disco rígido. Para efetuar qualquer uma das próximas instruções, use um terminal.

Disquete

Num sistema GNU/Linux, o seguinte comando copia a imagem bootex.img para o disquete:

dd if=bootex.img of=/dev/fd0

onde bootex.img é o nome do arquivo onde o bootex foi salvo.

Disco rígido

Para gravar num disco rígido velho (deve funcionar mas estraga os dados gravados no disco), use

dd if=bootex.img of=/dev/HDVELHO

onde HDVELHO é o nome do dispositivo de disco (cuidado, destrói o esquema de partições desse disco!!!)

Disco óptico

Para gravar num cd no GNU/Linux, use o comando seguinte para criar a imagem

mkisofs -R -b bootex.img bootex.img > bootex.iso # cria a imagem

Para gravar essa imagem no cd, experimente um destes comandos (o que funcionar):

cdrecord -v dev=/dev/cdrom -data bootex.img
cdrecord -v dev=0,0,0 -data bootex.img

Se você estiver utilizando um cd regravável para gravar o booteX, use um dos seguintes comandos antes de rodar um dos anteriores:

cdrecord -v dev=/dev/cdrom -blank=fast # limpa o cd
cdrecord -v dev=0,0,0 -blank=fast

Rodando o booteX

Uma vez gravado o booteX, coloque o disquete no drive (ou o cd no drive, chaveiro na porta usb, etc) e inicie o computador. Caso o booteX não comece a rodar, verifique se seu computador está configurado para procurar o sistema no disquete (ou cd, usb, disco).

Depois que o booteX for carregado, você pode remover o disquete e partir para a configuração. Ele pedirá as seguintes informações:

Após entrar com esses dados, o booteX iniciará o cliente gráfico e, se tudo estiver bem configurado, seu terminal leve iniciará uma sessão gráfica remota!

Pré-configurando uma imagem

Digitar as informações anteriores toda a vez que qualquer um dos terminais burros for iniciado pode se tornar uma rotina penosa. O booteX permite que você armezene todas essas configurações dentro do disquete, de modo que sua sessão remota seja automaticamente iniciada quando seu terminal leve for iniciado.

Ou seja, se você não quer configurar a rede e os periféricos toda a vez que o sistema é iniciado, é possível carregar todos os parâmetros de configuração na pasta /etc/config da distro. Para isso, você precisará montar o sisteminha de arquivos contido no arquivo initrd.gz da imagem (o kernel do seu sistema precisa estar com suporte aos sistemas de arquivos minix e fat):

mount -o loop bootex.img /mnt/bootex
cp /mnt/bootex/initrd.gz .
gunzip initrd.gz
mount -o loop initrd /mnt/initrd

Uma vez montado o sistema em alguma pasta -- /mnt/initrd neste exemplo --, crie os seguintes arquivos dentro da pasta /mnt/initrd/etc/config:

Feito isso, basta desmontar o sisteminha e gravar a imagem num disquete ou cd que o booteX carregará essas configurações e entrará no X automaticamente:

umount /mnt/initrd
gzip --best initrd
cp initrd.gz /mnt/bootex
umount /mnt/bootex

Comparação do booteX com o LTSP

Atualidade deste documento

Se você encontrou, no sítio do booteX, alguma informação mais atual do que o que está neste texto, por favor edite está página ou então entre em contato.

booteX (last edited 2006-08-29 16:36:50 by SilvioRhatto)