Linux no Pendriver
Rodando o Linux Ubuntu / Kubuntu no Pendrive ou dispositivo USB
O primeiro passo é formatar o pendrive, criando duas partições. A primeira será uma partição FAT32, que você pode usar para gravar dados do Linux e até no Windows e a segunda é a partição onde ficará armazenada a imagem do sistema. Está também deve ser FAT32.
A segunda partição FAT32 conterá uma cópia completa do CD de instalação, de forma que ela deve ter 750 MB (para deixar algum espaço vago para caso precise incluir arquivos adicionais). A primeira partição, por sua vez, pode englobar todo o restante do espaço vago do pendrive.
Um pendrive de 2 GB, ficaria assim:
sda1: 1,25 GB (FAT32)
sda2: 750 MB (FAT32)
Uma pegadinha é que o BIOS só aceita inicializar através do pendrive se você ativar a flag “bootable” para a partição (do pendrive) onde salvou a imagem do sistema. Sem isso, o boot para uma uma mensagem reclamando de que o dispositivo não é bootável. Para fazer isso através do gparted, clique com o botão direito sobre a segunda partição FAT32 e acesse a opção “Manage Flags”. No menu, marque a opção “boot”:
Ao usar o cfdisk, selecione a partição e ative a opção “[Bootable]“.
O próximo passo é formatar as partições criadas. Preste muita atenção ao indicar as partições referentes ao pendrive para não formatar sua partição de trabalho por engano:
mkfs.vfat -F 32 /dev/sda2 mkfs.vfat -F 32 -L ARQUIVOS /dev/sda1
O parâmetro “-F 32″ faz com que a primeira partição seja formatada em FAT32 (o padrão do mkfs.vfat é usar FAT16) e o “-L ARQUIVOS” define o nome da segunda partição
O segundo passo é montar a partição do pendrive e o CD-ROM com o sistema para poder copiar os arquivos. É necessário montar o CD-ROM mesmo ao dar boot através dele.
mount /dev/cdrom /mnt/cd mount /dev/sda2 /mnt/pendrive
Se você quiser fazer a cópia a partir de um arquivo ISO, pode montá-lo usando o comando “mount -o loop”, que faz com que ele seja acessado como se fosse um CD-ROM gravado, como em:
mount -o loop kubuntu-7.10-desktop-i386.iso /mnt/cd
Comece copiando todo o conteúdo do CD para a partição do pendrive, usando o “cp -a” (o parâmetro “-a” faz com que sejam copiados todos os arquivos e subdiretórios e todas as permissões sejam mantidas).
cp -a /mnt/cd/* /mnt/pendrive/
Em seguida é preciso copiar alguns arquivos específicos para o diretório raiz da partição, de forma que eles possam ser usados pelo syslinux:
cp -a /mnt/cd/isolinux/* /mnt/pendrive/ cp -a /mnt/cd/casper/vmlinuz /mnt/pendrive/ cp -a /mnt/cd/casper/initrd.gz /mnt/pendrive/ cp -a /mnt/cd/install/mt86plus /mnt/pendrive/ cp -a /mnt/cd/.disk /mnt/pendrive/
Precisamos agora criar o arquivo “syslinux.cfg” no diretório raiz da partição. Nele vai a configuração do gerenciador de boot:
nano /mnt/pendrive/syslinux.cfg
O conteúdo do arquivo fica:
Para o Ubuntu:
DEFAULT live GFXBOOT bootlogo LABEL live menu label ^Iniciar Linux Ubuntu 8.04 kernel vmlinuz append preseed/file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash – DISPLAY isolinux.txt TIMEOUT 300 PROMPT 1
Para o Kubuntu:
DEFAULT live GFXBOOT bootlogo LABEL live menu label ^Iniciar Linux Kubuntu 8.04 kernel vmlinuz append preseed/file=preseed/kubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash – DISPLAY isolinux.txt TIMEOUT 300 PROMPT 1
É importante enfatizar que, apesar de longa, a opção “append” forma uma única linha, do “append” ao “–”.
Na verdade, a única diferença entre os dois é a opção “pressed”, que no Ubuntu é “preseed/file=preseed/ubuntu.seed” e no Kubuntu é “preseed/file=preseed/kubuntu.seed”, no resto os dois arquivos são idênticos.
No Kubuntu é necessário instalar o pacote “kde-i18n-ptbr” e alterar o idioma através do centro de controle para que o sistema fique em Português.
Com isso estamos quase lá. Falta apenas instalar o syslinux para que o pendrive torne-se bootável. Para isso, é necessário antes de mais nada desmontar a partição:
umount /mnt/pendrive
O syslinux não vem instalado na maioria das distribuições, por isso é necessário instalá-lo usando o gerenciador de pacotes. No Ubuntu/Kubuntu ou qualquer distribuição derivada do Debian, instale os pacotes “syslinux” e “mtools” via apt-get:
sudo apt-get install syslinux mtools
Falta agora apenas rodar o comando do syslinux:
syslinux -f /dev/sda2
Ao contrário que faríamos ao gravar o lilo num HD por exemplo, o comando deve indicar a partição criada (/dev/sda1) e não o dispositivo. Concluindo, use o comando abaixo do lilo (o pacote “lilo” deve estar instalado). Ele corrige o setor de boot caso necessário, de forma a remover resquícios de instalações de outros gerenciadores de boot e a corrigir problemas diversos:
lilo -M /dev/sda
Com isto, você já tem um pendrive bootável, basta configurar o setup para inicializar através dele e testar.
Se o boot for iniciado de forma normal, mas o sistema parar em um certo ponto, mostrando apenas um cursor piscante no topo da tela, indefinidamente, verifique se a pasta “.disk” do CD foi realmente copiada para o pendrive. Por algum motivo, sem ela o sistema simplesmente não conclui o boot.
Quando falo em “pendrive” estou na verdade me referindo a qualquer dispositivo de armazenamento USB compatível com o padrão usb-storage. O mesmo pode ser feito com HDs externos, ligados na porta USB (os HDs são até menos problemáticos do que os pendrives), câmeras (onde o cartão é acessado como uma unidade de armazenamento) e até mesmo cartões SD ou Memory Stick ligados a um leitor de cartões USB.
Espero ter colaborado!
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes