Os live-CDs

Tradicionalmente, qualquer sistema operacional precisa ser instalado no HD antes de ser usado. Você dá boot usando o CD ou DVD de instalação e é aberto um sistema compacto, que roda o instalador e se encarrega de instalar e configurar o sistema principal. Depois de algum tempo respondendo perguntas e vendo a barra de progresso da cópia dos arquivos, você reinicia o micro e pode finalmente começar a usar o sistema. Isso é válido tanto para o Windows quanto para a maior parte das distribuições Linux.

Os live-CDs são distribuições Linux que rodam diretamente a partir do CD-ROM, sem necessidade de instalar. Um dos pioneiros nesta área é o Knoppix (derivado do Debian), que até hoje é um dos live-CDs de maior sucesso. O Kurumin é um descendente direto dele, desenvolvido com base no Knoppix 3.1 (a versão mais recente no início de 2003) e desenvolvido de forma mais ou menos autônoma a partir daí, utilizando como base os pacotes do Debian, combinados com atualizações provenientes do Knoppix e várias outras distribuições, além de um conjunto de scripts e ferramentas de configuração próprias, centralizadas na forma do Clica-aki.

Para quem já se acostumou com a idéia, pode parecer natural rodar o sistema a partir do CD e até mesmo instalar novos programas, sem precisar modificar as informações salvas no HD, mas o aparecimento do Knoppix foi um verdadeiro marco dentro do mundo Linux.

A base de tudo é um módulo de Kernel chamado cloop, um hack que permite que o sistema rode a partir de um sistema de arquivos compactado, gravado no CD-ROM. Os dados são descompactados “on-the-fly”, conforme são necessários. É algo que funciona de forma similar às partições compactadas pelo smartdrive no Windows 95/98 (ainda lembrado pelos saudosistas :), mas com um desempenho melhor e otimizado para CD-ROMs.

Graças à compressão, uma distribuição como o Kurumin pode incluir cerca de 1.2 GB de programas, em uma imagem com pouco mais de 400 MB. Além de reduzir o tamanho do sistema, comprimir os arquivos melhora também a taxa de transferência do CD-ROM, diminuindo a perda de desempenho causado pela baixa taxa de leitura.

A idéia é que um CD-ROM de 40X é capaz de ler a em média 4 MB/s, pois como o CD gira sempre na mesma velocidade, as informações gravadas nas trilhas da parte externa do CD (mais longas), são lidas a mais ou menos o dobro da velocidade das do centro (que são mais curtas). Um CD-ROM de 40x lê a 6 MB/s nas trilhas externas mas a apenas 3 MB/s nas internas. Como o CD-ROM é gravado a partir do centro, na maior parte do tempo ele lê os dados a 3, 4 ou 5 MB/s.

Mas, ao ler 4 MB/s de dados compactados a uma razão de 3x, ele estará lendo na prática a quase 12 MB/s, quase a mesma taxa de transferência de um HD de meia década atrás. Naturalmente ainda existem outros problemas, como o tempo de busca, que é muito mais alto num CD-ROM, mas o problema principal é bastante amenizado.

Se não fosse o sistema de compressão, os live-CDs descendentes do Knoppix seriam três vezes maiores e três vezes mais lentos ao rodar do CD, o que os tornariam sistemas muito menos atrativos.

Em contrapartida, o trabalho do processador passa a ser maior, pois, além de processar os dados referentes aos programas, ele tem que ao mesmo tempo descompactar os dados lidos pelo CD-ROM. Por isso, mais do que em outras distribuições, o desempenho (ao rodar do CD) aumenta de acordo com o poder de processamento da máquina. Numa máquina lenta, um Pentium II 300, por exemplo, o desempenho é cerca de 50% menor do que seria ao rodar uma distribuição instalada no HD, enquanto num Athlon XP ou Pentium 4 a diferença já é muito menor.

A primeira etapa do boot é a tela de boas-vindas e uma linha onde você pode fornecer parâmetros para o boot. Logo depois é carregado o Kernel, que por sua vez inicializa o hardware, cria um ramdisk usando uma parte (pequena) da memória RAM onde são armazenados arquivos de configuração e outros dados que precisam ser alterados durante o uso. Depois disso entra em ação o hwsetup, o programa de detecção que se encarrega de detectar a placa de vídeo, som, rede, modem e outros periféricos suportados, desenvolvido por Klaus Knopper com base no Kudzu do Red Hat.

Este trabalho de detecção é justamente o grande trunfo. Em poucos segundos o sistema é capaz de detectar, configurar e ativar todos os periféricos suportados na máquina, baseado nos códigos de identificação dos dispositivos, sem nenhuma intervenção do usuário.

Claro, sempre existem casos de problemas. Algumas placas-mãe travam durante a detecção do ACPI, alguns notebooks travam durante a etapa inicial, onde o sistema procura por placas SCSI e assim por diante. Mas na grande maioria dos casos estes problemas podem ser resolvidos desativando as partes da detecção que causam problemas, usando opções de boot. Veremos mais detalhes sobre isso no capítulo 3.

Durante o boot ele tenta sempre configurar automaticamente a rede, obtendo o IP e outros dados a partir de um servidor DHCP disponível na rede. Se a máquina acessar a internet através de uma conexão compartilhada dentro da rede local ou através de um modem ADSL configurado como roteador, ele já será capaz de acessar a web logo após o boot, caso contrário você pode configurar a rede manualmente.

Uma questão importante ao usar qualquer live-CD é a questão da memória RAM. Como o sistema por padrão não utiliza as partições do HD, tudo é feito usando a memória RAM, incluindo a instalação de novos programas. O ramdisk que é criado durante o boot vai crescendo conforme são feitas modificações. Em micros com pouca RAM você verá uma mensagem de “disco cheio” (quando na verdade o que acabou foi o espaço no ramdisk), ou até mesmo efeitos diversos por falta de memória RAM disponível.

A instalação de novos programas é possibilitada pelo UnionFS, mais um hack que monitora tentativas de alterações nos arquivos do CD (originalmente impossíveis, já que o CD é somente-leitura) e engana os programas, fazendo-as no ramdisk, permitindo que você altere arquivos e instale novos programas, mesmo ao rodar o sistema a partir do CD. Este recurso está disponível a partir do Knoppix 3.8 e do Kurumin 5.0.

A configuração mínima para rodar o Kurumin é um Pentium II com 128 MB de RAM. Para o Knoppix ou outras distribuições, os requisitos variam de 128 a 256 MB. Para usar o apt-get e instalar novos programas (UnionFS), você precisa ter 512 MB de RAM.

Para poder abrir vários programas simultaneamente e para melhorar o desempenho geral do sistema, é recomendável ter disponível uma partição swap, que pode ser criada usando o gparted, cfdisk, ou outro programa de particionamento. Muitas distribuições criam uma partição swap automaticamente ao serem instaladas.

A memória swap (ou memória virtual) é um recurso usado por todos os sistemas operacionais atuais quando não existe memória RAM suficiente. Ele passa a armazenar os dados que não “cabem” na memória num arquivo ou partição swap criada no HD. É o uso da memória swap que permite que o sistema continue funcionando, mesmo quando não existe memória RAM suficiente.

Como não é possível fazer memória swap no CD-ROM, o sistema é capaz de detectar e montar automaticamente partições de memória swap de outras distribuições Linux. Caso você tenha apenas o Windows instalado, ele tentará em último caso criar um arquivo de swap dentro da partição do Windows, mas isto só é possível se o HD estiver formatado em FAT32 (o sistema de arquivos usado pelo Windows 98). Por enquanto ainda não é possível fazer isso em partições NTFS do Windows XP.

Ou seja, para rodar o Kurumin em micros com pouca memória RAM, você deve preferencialmente usar um programa de particionamento qualquer para criar uma partição Linux swap ou pelo menos certificar-se de que o HD está formatado em FAT32 e não em NTFS, caso contrário ele não terá para onde correr quando a memória RAM acabar ;-).

Além do Knoppix e do Kurumin, existem muitos outros live-CDs, tanto baseados no Debian quanto baseados em outras distribuições, como o Slax (baseado no Slackware) e o PcLinuxOS (baseado no Mandriva).

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X