Linux numa Flash de 32MB para rdesktop de um windows

Linux é um Sistema Operativo do melhor que existe. Muitas vezes gastamos imensos recursos para fazer uma coisa simples, como um computador que apenas faz remote desktop para um computador windows. Valerá apena instalar um Windows ou um Linux completo numa máquina só para ela arrancar e executar um Remote Desktop ?

Se responderam não, então, o thinstation é a vossa solução (e a minha).

O Thinstation é um completo sistema Linux básico, muito poderoso e extremamente configurável Open Source Thin Client.

O Thinstation é um Linux bastante pequeno (conforme a vossa configuração. O que configurei tem apenas 8MB… Já estou a desperdiçar espaço nas Flash de 32MB ) que permite ligar directamente a Windows, Citrix, Unix ou mesmo trabalhar com ele como um desktop normal.

O nosso problema: Computadores velhos que demoram imenso tempo a fazer qualquer coisa.

Solução: Transformá-los em Thin Clients, sem ser necessário usar LTSP (que também temos) apenas para arrancar e ligar-se a um windows.

Problema 2: Seria preciso instalar um sistema operativo completo, ou gastar recursos num LTSP para apenas ligar-se a um windows?

Solução 2: Thinstation.

Com o Thinstation temos um Linux muito, muito, muito básico, mas suficientemente poderoso para arrancar com o ambiente X e realizar rdesktop para um windows.

Sendo muito configurável, podemos escolher quais os módulos de kernel que desejamos (fica optimizado para a máquina em questão) ou entao escolher todos aqueles que poderá vir a precisar e com a mesma imagem poder usar em variadissimas máquinas com hardwares diferentes (os programadores do Thinstation aconselham a que apenas escolha os que realmente precisa, mantendo a imagem ao minimo possível).

Posteriormente à configuração do ambiente Linux, personalizamos o comportamento após o arranque: Ter um X, realizar rdesktop para windows, ligar-se a um Citrix, etc… Personalizar a linguagem, pacotes instalados, etc…

Se estiver com muita pressa, poderá usar um dos sites web que o site disponibiliza para personalizar  a sua imagem, tudo num ambiente web e de forma simples. Após terem os ficheiros, podem seguir para Colocar numa Flash

Se quiser personalizar ainda mais, e entrar em maior detalhe com o seu hardware, siga estes passos (as instruções do site).

Download do ambiente de Linux para configurar: Thinstation-2.2.2.tar.gz

Após o download, descomprimir:

tar -zxvf Thinstation-2.2.2.tar.gz

cd Thinstation-2.2.2

Uma vez dentro da directoria, temos vários ficheiros, mas apenas vamos mexer em dois: build.conf para personalizar o ambiente e thinstation.conf.buildtime para personalizar a forma como vai correr.

Personalização

vi build.conf

Neste ficheiro configuramos o kernel, por assim dizer: Escolhemos o hardware onde queremos correr o Linux.

Aqui escolhemos módulos que queremos para suportar o nosso hardware: chipsets, AGP, PCMCIAS, Network (wired e wireless), USB, Som, storage, Sistemas de ficheiros e pacotes que desejamos também incluir.

Os modulos servem para suportar o nosso hardware, mas se desejamos mais algum programa do que os que são colocados por defeito, assinalamos na secção correcta (packages). Embora existam lá poucos, no site conseguem ver mais aplicações (patches e módulos – drivers), e também efectuar o download da versão de desenvolvimento do Thinstation para voçês também compilarem alguma aplicação que não esteja incluída por defeito. Com a versão de desenvolvimento também conseguem compilar módulos que possam precisar (para aqueles hardwares mais esquisitos) que não vêm incluídos.

Assim que tiverem contentes com o hardware configurado, guardem o ficheiro e passem ao seguinte. Vamos configurar a forma como o Thinstation vai executar, após o arranque.

vi thinstation.conf.buildtime

Neste ficheiro configuramos, como já dito anteriormente, o comportamento do Thinstation após o arranque.

Podemos definir o volume de som, o teclado, o fuso horário, o ambiente X (dual display, resolução de ecran, profundidade de cor, ACPI, etc…), se arranca para um rdesktop, se a rede é IP estático, dinamico, etc…

Configuramos também impressoras (paralelas e USB), SAMBA, pacotes a utilizar (que não ficam no initrd, mas sim numa directoria à parte), wireless, VPN, storage…

É realmente fantástico a quantidade de opções que temos disponíveis.

Assim que tiverem editado o ficheiro às vossas necessidades, guardem e vamos construir o nosso ambiente Linux.

Build

Para construir o ambiente personalizado, temos apenas que executar o ficheiro lá existente, chamado build.

./build

A partir deste momento, só temos que esperar um pouco enquanto o nosso ambiente está a ser construído.

Tendo já compilado tudo, os ficheiros que precisamos encontram-se na directoria boot-images.

Nesta directoria, temos sub-directorias com diferentes nomes que contém os ficheiros necessários ao arranque, consoante o nosso método.

Colocar numa FLASH

Aqui irei colocar como instalar o Thinstation numa flash usando o Syslinux (Flash em FAT ou FAT32). Outros métodos de instalação encontram-se no site.

Usando o Syslinux, iremos preparar uma flash com uma partição em FAT (32MB não dá para colocar FAT32): Criar um MBR de MSDOS, apagar o conteúdo, criar uma partição, atribuir-lhe a flag de boot, formatar, copiar os ficheiros para lá, preparar com o syslinux e arrancar com ela.

 Coloquem o CF num leitor e se o vosso Linux o montar, desmontem.

(assumindo que a vossa flash é sdb – IMPORTANTE: NÃO SE ENGANEM NO DISPOSITIVO. o comando dmesg ajuda)

Uma vez que estamos em Linux, precisamos de criar um MBR de MSDOS. Para isso, o syslinux já fornece um, que só temos que usar.

Em Gentoo, encontra-se em /usr/share/syslinux/mbr.bin. Em Ubuntu está em /usr/lib/syslinux/mbr.bin

dd if=/usr/share/mbr.bin of=/dev/sdb

fdisk /dev/sdbCommand (m for help): p

Disk /dev/sdb: 32 MB, 32112640 bytes
4 heads, 32 sectors/track, 490 cylinders
Units = cylinders of 128 * 512 = 65536 bytes
Disk identifier: 0x723d454d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          27         490       29696   83  Linux
/dev/sdb2               1          17        1072   83  Linux
/dev/sdb3              18          26         576   83  Linux

Partition table entries are not in disk order

Command (m for help):
(apagar todo o conteúdo)

d

1

d

2

d

3

(criar a particao)

n

p

1

<enter>

<enter>

p (para visualizarem)

(flag de boot)

a

1

(escolher o tipo de particao)

t

L (para ver os codigos)

6 (FAT16 - recordem, a flash é de 32 MB)

w (gravar e sair)

 Agora, vamos criar um sistema de ficheiros FAT na Flash

mkfs.vfat /dev/sdb1
mkfs.vfat 3.0.1 (23 Nov 2008)

PS: não usem ubuntu. Cada operação que fazem, ele tenta sempre montar a flash e vão receber avisos por isso. Tenham sempre atenção. Criar um sistema de ficheiros tem que ser com o dispositivo desmontado.

Agora sim, podem montar o dispositivo (retirem do leitor e tornem a colocar – se usarem Ubuntu, ele monta logo)

mount /dev/sdb1 /media/usbdisk (ou outra directoria qualquer que tenham)

Agora, vamos copiar os ficheiros que criámos no thinclient para a flash

(na directoria Thinclient-2.2.2/boot-images)

entrem na directoria syslinux

cd syslinux

cp * /media/usbdisk/

(sem desmontar o dispositivo)

syslinux /dev/sdb1

Desmontem

e já está. Uma flash pronta a arrancar.

Como podem ver, é bastante simples de fazer e poupa imensos recursos.

 

Leave a Reply

Your email address will not be published. Required fields are marked *