Linux no notebook?
Funciona, sim senhor!
Já havia algum tempo que eu estava sentindo
falta de um notebook, um companheiro de
viagens e desenvolvimento. Há algumas semanas
tomei coragem e comprei um. Não queria gastar
muito dinheiro, portanto, admito que o preço
foi o principal ingrediente na escolha do modelo
O notebook escolhido foi um
Compaq Presario 1200, desses que
são encontrados em lojas de departamentos. As características desse
modelo são: processador AMD K6 450 Mhz, disco rígido de 4.8 GB, 32 MB RAM, chipset VIA MVP-4, incluindo
controlador de vídeo AGP Trident Blade3D, chipset de som VIA 82cxxx PCI, cache de 512 KB L2, monitor LCD 800x600 HPA, unidade CD-ROM 24x, unidade de discos flexíveis
1.44 MB, modem Lucent V.90 56 Kbps por software, portas VGA, teclado,
serial, paralela, mouse PS/2, USB,
entrada de áudio, saída de áudio, slot para cartão PCMCIA tipo II ou III
e alguns softwares Microsoft.
Comprei também um cartão PCMCIA Ethernet 10/100 Mbps, da marca Encore, modelo ESP832-TX-PC. No caso deste item opcional, o preço e a presença de um driver para Linux foram os fatores determinantes.
Instalando o Linux
Duas versões do Conectiva Linux foram testadas, ambas fornecidas pela Revista do Linux (Edição Especial 4.0 do número 1 e Edição Especial 5.0 do número 8). Acabei optando pela Edição Especial 4.0 porque o XFree86 3.3.5 acabou resultando numa melhor apresentação de cores que o XFree 3.3.6, embora ambas as versões tenham sido instaladas satisfatoriamente.
O disco rígido do Presario 1200 vem particionado de fábrica com 3,5 GB numa partição principal Windows e 1,3 GB numa partição Windows
estendida, cujo propósito é funcionar como um tipo de backup da partição primária. Eu usei o Partition Magic da PowerQuest para encolher a partição estendida para cerca de 900 MB, encolher a partição primária para 2,5 GB e criar um espaço vazio de 1,4 GB para instalar o Linux.
O notebook reconheceu corretamente o CD inserido na unidade durante o boot, e a instalação correu sem nenhum problema. Durante uma consulta anterior ao Linux on Laptops, já sabia que Xconfigurator não iria configurar apropriadamente o ambiente gráfico, portanto, durante o setup
apenas instalei o servidor SVGA do XFree86. Não configurei o ambiente de rede pois o cartão não foi reconhecido. Instalei o LILO no MBR.
Após a primeira carga, instalei os RPM do XF86Setup, editores e hdparm. O script abaixo aumentou o desempenho do disco rígido para algo em torno de 10 MB/s (a configuração original reportava 3 MB/s. Outros parâmetros não foram testados):
#! /bin/sh
# /etc/rc.d/init.d/dma32bit
# Aumenta o desempenho do disco rígido
hdparm -q -c3 -d1 -m16 -k1 /dev/hda
Usando ln -s /etc/rc.d/init.d/dma32bit /etc/rc.d/rc3.d/S02dma32bit, o aumento de desempenho configurou-se sempre que o Linux foi executado (crie um link simbólico em /etc/rd.c/rc5.d para obter o
mesmo efeito em boot gráfico).
Com XF86Setup fui capaz de configurar corretamente o vídeo para 800x600 com cores de 16 bits (a memória de vídeo reservada foi de 2 MB). A versão da Edição Especial 5.0 resultou num vídeo um pouco claro demais, incômodo.
Instalando os drivers
Os dispositivos que compõem
o Compaq Presario 1200 são relativamente recentes, conforme comprovado pelo grau de reconhecimento das versões do Conectiva Linux usadas na instalação.
O kernel 2.2.12 da Edição
Especial 4.0 não possui o driver via82xxx que trabalha com o chipset MVP-4, ao passo que o kernel 2.2.14 da Edição Especial 5.0 reconheceu o chipset (sempre usando o utilitário sndconfig). Ambos usaram o modo de compatibilidade Sound Blaster Pro, que resultou numa qualidade de som fraca. Como não pretendo usar som de qualidade a curto prazo, dei-me por satisfeito por ter som.
Sem ter nenhum dispositivo USB para usar, optei por não configurar suporte USB para a máquina.
Existe um driver binário para o
modem colocado à disposição pela Lucent e que pode ser obtido em www.linmodems.org/linux586.zip.
O driver foi compilado para o kernel 2.2.12, mas também funcionou com o kernel 2.2.14. Após expandir o arquivo, bastou executar o script de instalação para o modem passar a funcionar em /dev/modem.
Suporte para PCMCIA
O suporte PCMCIA dos kernels das duas versões funciona perfeitamente. Vou limitar meu relato à versão 3.0.12, distribuída com a Edição Especial 4.0. Foi muito difícil conseguir fazer o cartão Encore ESP832-TX-PC funcionar com qualquer distribuição Linux, pois ele não é diretamente reconhecido, e está meio fora de padrão. Após recompilar e instalar o pacote, o cartão não era reconhecido (apenas um bip grave). Mesmo após editar /etc/pcmcia/config para inserir as informações dele, a inicialização sempre informava que o endereço de rede não tinha sido encontrado. Forçar o reconhecimento do cartão fornecendo o endereço de rede resultava em reentrância de interrupções, e em 99,9% de dados perdidos. O disquete de drivers do cartão possuía apenas dois arquivos fonte em C, pcnet_cs.c e 8390.c, específicos mais ou menos para o pcmcia-3.0.9. Levou uma semana para descobrir como fazer o cartão funcionar, mas agora está perfeito. Abaixo segue a descrição do que foi feito.
O módulo pcnet_cs é responsável pela instalação e remoção do módulo, enquanto que 8390 é responsável pela manipulação de entrada/saída em mais baixo nível. Em pcnet_cs.c existe uma estrutura chamada hw_info_t, com informações dos cartões aceitos numa matriz chamada hw_info[].
Inseri uma nova linha nesta matriz, com a seguinte grafia:
{ /* Encore ESP832-TX-PC */ 0x01c8, 0x00, 0x00, 0x21 }
Indicando que o cartão da Encore possui deslocamento de leitura em 0x01c8, e os três primeiros bytes
do endereço de rede do cartão são 0,
0 e 21 (em hexadecimal). Isto é fixo para todos os cartões.
Substituí o conteúdo da função get_prom pela versão do arquivo
do disquete fornecido com o cartão, recompilei e executei /etc/rc.d/init.d/pcmcia restart. O cartão passou a ser reconhecido, mas os problemas de interrupções reentrantes
continuavam.
Resolvi arriscar e substituí o arquivo 8390.c pela versão do disquete
fornecido com o cartão. Afinal, pareciam ser bastante semelhantes. Ao
recompilar, alguns erros apareceram. Corrigidos os erros, tudo passou a
funcionar perfeitamente.
Recompilando o kernel
Ignorei as recomendações e não recompilei o kernel, ainda.
Sumário
O notebook Compaq Presario é uma máquina de baixo custo, de desempenho razoável, apenas um pouco pesada. O Linux foi instalado sem problemas nele.
A não ser que você goste mesmo de sofrer, evite comprar o cartão Encore 16-bit 100/10M Fast Ethernet PCMCIA Adapter (modelo ESP832-TX-PC). Embora seja barato (por volta de US$ 80), sua instalação irá exigir conhecimentos de programação e do funcionamento do kernel que poderão estar além do seu alcance. Imprima e leve junto com você o arquivo
/usr/src/linux/pcmcia-cs-3.X.XX/SUPPORTED.CARDS.
Existe uma ótima fonte na
Internet para pesquisar Linux em
laptops. Por coincidência, ela se chama Linux on Laptops, e sua URL é www.cs.utexas.edu/users/kharker/
linux-laptop. Se você quer ver o pingüim voando baixo numa dessas pequenas geringonças, não deixe de
consultá-la.