Jump to Navigation

BooteX

nota do efeefe: essa página precisa de jardinagem. o autor original deve ter sido o rhatto, mas acho que ele não está cadastrado nesse site

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:

  • Todos os computadores estão ligados numa rede interna 
  • Os computadores mais rápidos serão os servidores de recursos
  • Os computadores mais lentos serão os clientes, também chamados de terminais leves ou terminais burros

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 [:ManualLTSP : LTSP], o booteX requer que você possua no mínimo dois computadores:
 
 * Servidor: computador rápido (Pentium II / K6 II ou superior) com sistema operacional (pode ser GNU/Linux, [http://www.freebsd.org/ FreeBSD] ou qualquer outro que esteja rodando um gerenciador gráfico de login como o [http://www.gnome.org/projects/gdm/ GDM], [http://docs.kde.org/development/en/kdebase/kdm/ KDM] ou [http://www.openit.com.br/freebsd-hb/x-xdm.html XDM]); se você tem um [http://www.debian.org/ Debian], [http://www.ubuntulinux.org/ Ubuntu], [http://www.slackware.com Slackware], [http://fedora.redhat.com/ Fedora] ou até o [http://www.guiadohardware.net/gdhpress/kurumin/ Kurumin], já está resolvido seu problema. Você pode até mesmo usar algumas distribuições "live" de GNU/Linux para o servidor, o que permite criar um telecentro sem nenhum disco rígido!
 
 * Terminal leve: um computador antigo (Pentium, por exemplo), com no mínimo 5MB de memória RAM e não precisa de disco rígido.
 
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:
 
 * Configuração de rede (a rede precisa estar funcionando)
 * Configuração do gerenciador gráfico
 
Já o terminal leve precisa apenas de um disquete com booteX. Quando o booteX é iniciado, ele perguntará ao usuário algumas configurações:
 
 * configuração do mouse
 * resolução do monitor e quantidade de cores
 * configuração de rede e endereço do servidor gráfico
 
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 [http://cdd.debianbrasil.org/project/ Debian BR]. Se você já tem um sistema desse tipo instalado no seu computador, certifique-se que:
 
 * Ele tem um ambiente gráfico e um gerenciador de entrada como o KDM ou o GDM.
 * A rede está configurada (isto é, ela possua um número IP na rede que você acabou de montar).
 
== 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.
 
attachment:gdmsetup-1.png
attachment:gdmsetup-2.png
 
Você precisará alterar poucas coisas:
 
 * Habilitar XDMCP: essa opção deve estar selecionada.
 * Máximo de sessões remotas: número máximo de terminais leves (ou sessões gráficas) que o servidor permitirá, ajuste para o número maior ou igual ao de terminais leves que você possui na rede.
 * Telas gráficas por máquina: quantas sessões gráficas cada terminal leve pode fazer; escolha um valor maior que 1 pois às vezes o terminal pode travar sem que a sessão gráfica seja finalizada, e ao ser reiniciado não obter uma conexão com o servidor.
 
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:
 
 * Configuração da rede: você deve saber qual a configuração do IP de cada máquina, manual ou automática; caso seja manual, qual o IP de cada uma.
 * Configuração de vídeo para cada máquina: o booteX utiliza uma especificação gráfica conhecida como VESA, então a placa de vídeo do terminal leve precisa suportar isso. Caso contrário é preciso usar o LTSP ou criar uma imagem do booteX para o padrão gráfico suportado pela placa. A configuração gráfica consiste nas seguintes informações:
  * Resolução: quantos pontos gráficos na altura e largura da tela.
  * Quantidade de cores por ponto gráfico da tela.
 * Configuração do seu mouse.
 
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 [http://bootex.sarava.org/download/ 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:
 
 * Configuração da rede: o endereço IP e a máscara da rede ou se a rede é automática e também qual é o endereço IP do servidor.
 * Configuração de vídeo para cada máquina.
  * Resolução: quantos pontos gráficos na altura e largura da tela.
  * Quantidade de cores por ponto gráfico da tela.
 * Configuração do seu mouse: você deverá informar se o seu mouse é serial (com1 = ttyS0, com2 = ttyS1, etc) ou PS/2 (psaux).
 
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:
 
 * ip: coloque o IP da máquina (caso seja dhcp, coloque simplesmente "dhcp")
 * netmask: a máscara de rede (ignore caso esteja usando dhcp)
 * server_address: IP da máquina que faz XDMCP
 * mouse: dispositivo de mouse (psaux, ttyS0, etc)
 * depth: bits por pixel do cliente X (8, 16, 24)
 * resolution: resolução do X (640x480, 800x600, 1024x768)
 
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 =
 
 * O booteX requer muito menos configuração e por isso é mais fácil.
 * O booteX demora mais para iniciar do que o LTSP.
 * O booteX ainda não suporta recursos avançados de terminais leves.
 * O booteX é mais didático e pode ser facilmente incluído em oficinas de metareciclagem, pois requer menos tempo para aprender a usá-lo.
 * O booteX não suporta inicialização via placa de rede: apenas via disco, disquete, cd e usb.
 
= Atualidade deste documento =
 
Se você encontrou, no [http://bootex.sarava.org 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.