Configurando disquete e pendrive para boot sem suporte na BIOS

Neste artigo descreverei como você poderá instalar, carregar e utilizar um sistema operacional residente em um pendrive, em máquinas sem suporte a boot por este dispositivo na BIOS, utilizando para tanto um simples, "velho e bom" disquete.

[ Hits: 44.989 ]

Por: Stefano Fontes em 02/02/2009


Configurações utilizadas e pré-requisitos



Os procedimentos descritos neste artigo foram realizados com sucesso utilizando-se as seguintes configurações:

Hardware:
  • Pendrive "Data Traveller" KINGSTON de 1GB, padrão USB 2.0 compatível com USB 1.1;
  • PC com processador VIA de 800 MHz, chipset VIA, 128 MB de RAM e interface USB VIA 1.1;
  • Drives e disquetes 1.44 MB comuns.

Software:
  • Slackware Linux 10.2 com kernel 2.4.31;
  • mkinitrd (pacote incluso na distribuição Slackware);
  • Utilitários Linux diversos (mke2fs, mknod, lilo, vi, cp etc.) também inclusos na distribuição.

Apesar de ter sido esta a configuração utilizada, o processo deve funcionar com outras configurações similares; o único ponto realmente crítico a observar é se a interface USB da placa-mãe é compatível com o pendrive; é aconselhável antes de mais nada consultar a documentação da placa-mãe e do pendrive para verificar se são compatíveis; por exemplo, certos dispositivos USB 2.0 são compatíveis com USB 1.1, mas interfaces USB de placas-mãe mais antigas às vezes não reconhecem dispositivos mais recentes.

Recomendações importantes

1) Uma vez que não utilizaremos memória SWAP durante a instalação do sistema operacional no pendrive, é altamente recomendável utilizar bastante memória RAM, 128 MB ou mais, dependendo da distribuição a ser instalada; distribuições mais recentes podem demandar até 1GB ou mais de memória na instalação, portanto consulte previamente a documentação ou pré-requisitos de instalação da distribuição.

Procure utilizar pelo menos 50% a mais da memória requerida para instalação; você poderá também utilizar eventuais partições de memória swap existentes em algum disco rígido no computador, se forem detectadas pelo programa de instalação, caso em que será necessário menos memória RAM; entretanto, você deverá removê-las do arquivo /etc/fstab do sistema instalado no pendrive após dar o boot com o mesmo, pois possivelmente você irá utilizá-lo em uma máquina sem HD; de qualquer forma, a melhor opção é sempre utilizar mais memória RAM como recomendado acima.

2) Como em toda atividade de desenvolvimento ou implementação, procure utilizar uma máquina destinada a esta finalidade (testes, experiências etc), pois se algo der errado, você não estará comprometendo a máquina que você utiliza no dia-a-dia para trabalho e outras atividades afins, a qual muitas vezes contém importantes informações pessoais etc.

Uma vez que o processo aqui descrito é algo um tanto quanto detalhado e minucioso, além de "emprestar" certos diretórios importantes do sistema hospedeiro (tais como /boot, /lib/modules e /usr/src/linux), é melhor que você esteja garantido contra eventuais erros.

Algumas "convenções"

Apesar de desnecessário para os mais experientes, nunca é demais alertar para o que pode causar algumas confusões:
  • Linha de comando: Sempre precedida por um sinal de sustenido ( # ), que simboliza o "prompt" do shell (no caso, Bash); após especificar o comando, geralmente mostro a saída do mesmo, na linha imediatamente abaixo; observe que o sustenido ( # ) NÃO FAZ parte do comando. Exemplo:

    # ls /mnt
    cdrom/  floppy/  hd/  iso/  pen/  smb1/

  • Diretório corrente: Preste atenção quando for indicada uma mudança de diretório, pois a partir deste momento estarei considerando que este será o seu diretório corrente, e eventuais comandos serão especificados levando isto em consideração. Exemplo:

    # cd /mnt/floppy
    # ls etc

    lilo.conf.dsk

    Observe que no comando acima, quando emiti o comando ls, não passei como parâmetro o diretório /etc, e sim o diretório etc (sem barra), que está imediatamente sob o diretório corrente ( /mnt/floppy ), e cujo conteúdo é o arquivo lilo.conf.dsk.

    Se você estiver em dúvida quanto ao seu atual diretório, utilize o comando pwd:

    # pwd
    /mnt/floppy

  • Versão do Kernel: Frequentemente a especifico como X.Y.Z, pois você pode estar utilizando uma versão diferente da que utilizei (2.4.31); faça portanto as correções necessárias nos comandos.

Recomendações finais

  • Lembre-se: Apesar de os procedimentos descritos neste artigo terem funcionado a contento e terem sido exaustivamente testados em ambiente experimental, com as configurações acima especificadas, isto pode não ocorrer em todos os casos. Por este motivo, não podemos assumir nenhuma responsabilidade total ou parcial por qualquer dano material ou imaterial, perda de dados ou informações, mal funcionamento ou qualquer outro tipo de ocorrência prejudicial que não se enquadre nas categorias acima, decorrentes das informações contidas neste artigo.
  • Faça backup de seus dados! Faça testes e experiências somente em máquinas reservadas a esta finalidade, nunca em máquinas de produção! Estude, entenda e compreenda antes para fazer depois!

DESCULPE-ME!
  • Ninguém é perfeito; por isso, apesar de ter feito várias revisões, peço-lhe antecipadamente desculpas por eventuais erros ou omissões que possam haver neste artigo;
  • Sou detalhista - você irá perceber como este artigo ficou longo... mas é para seu próprio bem!
  • Meu tempo é curto - por isso, antes de encaminhar-me qualquer dúvida, tenha em mente duas coisas:

    1) Tente resolver por si mesmo, "quebre a cabeça", pesquise, estude, entenda, faça novamente - só assim aprendemos de verdade, e além de tudo é um excelente exercício mental...

    2) Não posso garantir que responderei rapidamente, ou a tempo de resolver o seu problema.

Finalmente, gostaria de solicitar que você mencione a fonte, se for utilizar as informações contidas neste artigo em outro artigo ou material qualquer, eletrônico ou impresso.

Obrigado e boa sorte!

    Próxima página

Páginas do artigo
   1. Configurações utilizadas e pré-requisitos
   2. Entendendo o processo
   3. Preparando o terreno
   4. Construindo o initrd
   5. Criando o disquete
   6. Finalmente... o boot!
Outros artigos deste autor

Criando um repositório criptografado de dados com Cryptsetup (dm-crypt) sem (re)particionamento do HD

Provendo dados em um servidor PostgreSQL através do Apache e PHP

Leitura recomendada

Saiba porque o Linux pode (ainda) estar diminuindo a vida útil do HD do seu notebook

Open Hardware: Quem topa o desafio?

Placa de rede wireless Encore ENUWI-G2 COM CHIP RTL8187B no Linux

Placa de TV/FM Pixelview Play TV PRO no Slackware 10.1

Access Point com cartão Atheros em Slackware 12.0

  
Comentários
[1] Comentário enviado por Mauro Delazeri em 03/02/2009 - 01:34h

Caro amigo schaf seu artigo esta meio longo mas muito bom, parabens!

[2] Comentário enviado por schaf em 03/02/2009 - 10:50h

Em primeiro lugar, quero agradecer ao site pela publicação e ao amigo Mauro acima pelo elogio.
Gostaria de acrescentar ao artigo o seguinte:
Se após algum tempo você verificar que o pen-drive apresenta problemas de falta de espaço em disco (não consegue abrir arquivos para edição, mensagens "No space left on device" ou coisa parecida), verifique:
- Se há espaço livre disponível no pen-drive, com o comando:

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 954M 954M 0 100% /

No caso acima, podemos observar que o espaço no pen-drive está completamente utilizado.
Se isto ocorrer, verifique o tamanho do seguinte arquivo:

# du -sh /var/log/debug
287M /var/log/debug

Esvazie então o arquivo para liberar espaço em disco:

# echo > /var/log/debug

Para tornar esta solução "definitiva", acrescente a seguinte linha ao crontab:

# crontab -e
*/15 * * * * echo > /var/log/debug

Isto irá esvaziar o arquivo de 15 em 15 minutos. Maiores informações na documentação do crontab.
Para liberar espaço, você poderá também desinstalar programas desnecessários e/ou esvaziar os diretórios /usr/share/doc ou /usr/doc, através dos comandos (atenção pois a exclusão é DEFINITIVA):

# rm -rf /usr/doc/*
# rm -rf /usr/share/doc/*

Dependendo do caso, a documentação ali existente raramente será utilizada (NÃO se trata das páginas man, as quais você pooderá utilizar normalmente, mesmo após a remoção acima).
Até a próxima!

[3] Comentário enviado por stremer em 04/02/2009 - 11:41h

cara...
eu tinha um notebook "véio"... não tenho mais (bati rolo) mas pesquisei sobre esse assunto e até sabia fazer isso com ele, pois o mesmo não dava boot pelo pen drive, mas tinha um hd de somente 4gb que estava "meia boca" então eu pensei em fazer todo esse processo. Foi complicado achar toda a documentação (me levou alguns dias) e esse artigo seu esta FANTASTICO... se ele existisse na epoca era questão de minutos... vai ajudar muito as pessoas que precisarem de algo parecido...
e acrescentando que o boot não necessariamente precisa ser do disquete, mas pode ser do próprio hd ou ainda de um drive de cd (desde que prepare tudo e depois queime o cd bonitinho) vai depender mesmo da placa mãe...
Parabéns novamente!!!

[4] Comentário enviado por galberojunior em 19/05/2009 - 08:29h

Existe alguma indicação de como proceder para distros baseadas em Debian?
E parabéns pelo tópico!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts