A maioria dos usuários Linux já ouviu falar na possibilidade de rodar uma distribuição Linux a partir de um pendrive. Com a queda dos preços, esse tipo de dispositivo caiu no gosto dos usuários. Vale ressaltar também motivos como sua maior confiabilidade e capacidade em relação aos obsoletos disquetes e zipdrives, e as obvias vantagens sobre CDs e DVDs regraváveis. E agora ainda incorporaram outras vantagens, como tocador de mp3, gravador e voz etc outras…

No escritório tenho algumas máquinas bem velhinhas. Além disso, volta e meia algum amigo me pede para consertar um PC que não dá mais boot, pegou vírus, pegou fogo, foi atropelado, etc… E não é todo mundo que troca de PC todo ano… Para esses momentos, eu vivia procurando uma distribuição Linux capaz de rodar algumas ferramentas de salvamento de micros e, de quebra, que me oferecesse, sempre à mão, um desktop amigável. Graficamente atraente — mesmo que espartano — e ainda assim podendo receber e-mails, manter configurações pessoais, documentos etc. E tinha mais um porém: precisaria ser um que pudesse dar boot mesmo em máquinas mais velhinhas, que não têm suporte a boot pela USB na BIOS, usando para isso o boot pelo disquete.

Desde o início, achei várias opções. Essa lista dá uma idéia.. Claro, teoricamente, qualquer distro pode ser instalada e dar boot pelo pendrive. Com pendrives cada vez maiores (1GB, 2GB, 4Gb e subindo…), talvez seja possível instalar todo o Fedora ou o Kurumin num deles. :))

Mas por fim acabei optando pelo SLAX. Baseado no Slackware, tem versões de 50mb a 220mb, com script criador de CD e pendrive de boot pelo Linux e até software pronto prá fazer o mesmo pelo Windows. Fácil de instalar novas funcionalidades, podendo facilmente ficar em português, e tem até KDE se a máquina tiver alguma RAM sobrando. O único problema dele é o suporte a boot USB na BIOS. Sem suporte, nada de boot.

Mas depois de estudar um pouco como as distribuições DSL e Puppy conseguem a façanha, acabei criando meu próprio disquete de boot (a imagem que pode ser gravada em disquete pelo dd no Linux ou rawrite no Windows está aqui). A vantagem é que, com algumas modificações simples nos arquivos – basicamente indicações de path e nomes de arquivos no autoexec.bat, teoricamente esse disco é capaz de dar boot em qualquer distro Linux instalada num pendrive, mesmo que a bios não suporte isso.

O negócio é o seguinte: no boot, o Linux carrega uma imagem do kernel e um conjunto de instruções (em alguns casos) chamado initrd ou minitrd. Numa distro pronta para USB, como o DSL, ambos cabem no disquete de boot, e um aplicativo para DOS — no dsl o “bootloader” syslinux — carrega o SO de fato. No caso do Puppy, já não é assim: a imagem do kernel e a initrd continuam no pendrive, mas um disco raro de boot, chamado wakepup, contém drivers para habilitar a USB no DOS e então poder iniciar o linux no pendrive com o “bootloader” loadlin.

O Slax, originalmente previsto para rodar no CD, até tem um diretório com as ferramentas para dar boot pelo DOS, mas primeiro era preciso fazer o DOS reconhecer o pendrive. Levei um tempo até achar os drivers USBASPI.SYS e ASPIDISK.SYS, capazes de fazerem isso. Costumam ser encontrados sob os codinomes Panasonic v2.06 ASPI Manager for USB mass storage e USB Motto Hairu DOS Drivers (não me perguntem sob qual licença, que não faço a mínima, e se fizesse, talvez não tivesse compartilhado a imagem de disquete 88| ) e são os únicos capazes de fazer o DOS encontrar pendrives…

Ah, o DOS. Não, o FreeDOS! Numa “distribuição” preparada para caber em um disquete, chamada ODIM, achei tudo o mais necessário para criar o disquete. De quebra, mais algumas ferramentas de recuperação de partições fat16 ou fat32 (lembra do bom e velho undelete? rsrsrs)

Com isso na mão, e um monte de tentativas e erros nos comandos de arquivos em lote do Freedos (vai tentar lembrar como se configura e cria scripts com comandos dentro do autoexec.bat e do config.sys, vai…), tá pronto o disco de boot.

Com o antivirus Clamav (para partições windows, entenda-se) instalado via módulo e os pacotes fsck(.dos,.refeirs,.extX) e ntfsfix, em menos de duas semanas a dupla disquete/pendrive já foi usada prá ressuscitar dois PCs condenados. Um deles ganhou até um Slax definitivo 🙂