Criando um Pendrive Live com Ubuntu 8.04

De gutocarvalho.net

Conteúdo

[editar] Introdução

Imagine que você precisa acessar a internet e só tem a opção de usar um OS proprietário, calma, não entre em pânico, ande com sua distro livecd preferida no pendrive, é simples e fácil de instalar.

Isto é muito útil no trabalho, faculdade ou viajando.

[editar] Pre-requesitos

iso do ubuntu 8.04 fdisk ou gparted

[editar] Como funciona um LiveUSB?

É possível colocar a estrutura de um LIVECD em um pendrive, com pequenos ajustes você tem a mobilidade do livecd, executando um sistema operacional eficiente, tudo isto em poucos minutos.

Basta ter uma BIOS tenha suporte a BOOT via USB e pronto!

[editar] Instalando

[editar] Checando seu pendrive

Plugue seu pendrive e veja a saída do DMESG.

[11281.878191] usb 5-6: new high speed USB device using ehci_hcd and address 5
[11282.021770] usb 5-6: configuration #1 chosen from 1 choice
[11282.022257] scsi6 : SCSI emulation for USB Mass Storage devices
[11282.022629] usb-storage: device found at 5
[11282.022637] usb-storage: waiting for device to settle before scanning
[11287.014639] usb-storage: device scan complete
[11287.046588] scsi 6:0:0:0: Direct-Access              USB Flash Memory PMAP PQ: 0 ANSI: 0 CCS
[11287.296903] sd 6:0:0:0: [sdb] 3903488 512-byte hardware sectors (1999 MB)
[11287.297521] sd 6:0:0:0: [sdb] Write Protect is off
[11287.297525] sd 6:0:0:0: [sdb] Mode Sense: 23 00 00 00
[11287.297527] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[11287.300890] sd 6:0:0:0: [sdb] 3903488 512-byte hardware sectors (1999 MB)
[11287.301515] sd 6:0:0:0: [sdb] Write Protect is off
[11287.301518] sd 6:0:0:0: [sdb] Mode Sense: 23 00 00 00
[11287.301521] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[11287.301525]  sdb: sdb1
[11287.345073] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[11287.345125] sd 6:0:0:0: Attached scsi generic sg3 type 0

Se você está usando Ubuntu, Debian, Fedora e afins o pendrive provavelmente foi montando automaticamente, vamos desmontá-lo, no caso do Ubuntu basta ir na área de trabalho e clicar em "Desmontar".

[editar] particionando

Temos 2 métodos para realizar o particionamento.

[editar] via fdisk

Caso não funcione, faça manualmente

# umount /dev/sdb1

Agora vamos reparticionar o dispositivo

# fdisk /dev/sdb1

você estará agora no console do fdisk

Comando (m para ajuda):

digite M para ver a ajuda

Comando (m para ajuda): m
Comando - ação
   a   alterna a opção "inicializável"
   b   edita rótulo BSD no disco
   c   alterna a opção "compatibilidade"
   d   exclui uma partição
   l   lista os tipos de partição conhecidos
   m   mostra este menu
   n   cria uma nova partição
   o   cria uma nova tabela de partições DOS vazia
   p   mostra a tabela de partições
   q   sai sem salvar as alterações
   s   cria um novo rótulo de disco Sun vazio
   t   altera a identificação da partição para o sistema
   u   altera as unidades das entradas mostradas
   v   verifica a tabela de partições
   w   grava a tabela no disco e sai
   x   funcionalidade adicional (somente para usuários avançados)

vamos ver quantas particoes temos

Comando (m para ajuda): p

Disco /dev/sdb1: 1998 MB, 1998569472 bytes
62 heads, 62 sectors/track, 1015 cylinders
Units = cilindros of 3844 * 512 = 1968128 bytes
Disk identifier: 0x73696420

Isto não parece ser uma tabela de partições
Provavelmente você selecionou o dispositivo errado.

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1p1   ?      499467      641100   272218546+  20  Desconhecido
A partição 1 possui inícios físico/lógico diferentes (não Linux?):
     fís. = (356, 97, 46) lógico = (499466, 58, 59)
A partição 1 possui fins físico/lógico diferentes:
     fís. = (357, 116, 40) lógico = (641099, 56, 23)
A partição 1 não termina no limite do cilindro.
/dev/sdb1p2   ?      346042      486255   269488144   6b  Desconhecido
A partição 2 possui inícios físico/lógico diferentes (não Linux?):
     fís. = (288, 110, 57) lógico = (346041, 41, 57)
A partição 2 possui fins físico/lógico diferentes:
     fís. = (269, 101, 57) lógico = (486254, 1, 52)
A partição 2 não termina no limite do cilindro.
/dev/sdb1p3   ?      140216      503994   699181456   53  DM6 OnTrack Aux3
A partição 3 possui inícios físico/lógico diferentes (não Linux?):
     fís. = (345, 32, 19) lógico = (140215, 47, 18)
A partição 3 possui fins físico/lógico diferentes:
     fís. = (324, 77, 19) lógico = (503993, 51, 49)
A partição 3 não termina no limite do cilindro.
/dev/sdb1p4   *      362807      362812       10668+  49  Desconhecido
A partição 4 possui inícios físico/lógico diferentes (não Linux?):
     fís. = (87, 1, 0) lógico = (362806, 22, 36)
A partição 4 possui fins físico/lógico diferentes:
     fís. = (335, 78, 2) lógico = (362811, 56, 44)
A partição 4 não termina no limite do cilindro.

Partições lógicas fora da ordem do disco

agora vamos deletar as particoes existentes no pendrive.

Comando (m para ajuda): d
Número da partição (1-4): 1
Comando (m para ajuda): d
Número da partição (1-4): 2
Comando (m para ajuda): d
Número da partição (1-4): 3
Comando (m para ajuda): d
Partição selecionada 4

verifique se existe ainda alguma particao

Comando (m para ajuda): p

Disco /dev/sdb1: 1998 MB, 1998569472 bytes
62 heads, 62 sectors/track, 1015 cylinders
Units = cilindros of 3844 * 512 = 1968128 bytes
Disk identifier: 0x73696420

Dispositivo Boot Início Fim Blocos Id Sistema

jóia, tudo certo, agora vamos criar uma partição e 750 MegaBytes, para isto vamos usar o comando n.

Comando (m para ajuda): n

agora ele vai perguntar se queremos criar uma particao estendida ou primária, dibgite p

Comando - ação
   e   estendida
   p   partição primária (1-4)
p

escolha o número da partição, digita 1

Número da partição (1-4): 1

agora o fdisk pergunta em qual cilindro a partição deve começar, apenas dê um enter, pois vamos usar o primeiro cilindro disponível

Primeiro cilindro (1-1015, padrão 1)

agora o fdisk precisa saber o tamanho da partição que você vai criar, digite, +750M

Último cilindro ou +tamanho ou +tamanho M ou  +tamanho K (1-1015, padrão 1015): +750M

torne a partição ativa, digita a e escolha a primeira partição

Comando (m para ajuda): a
Número da partição (1-4): 1

agora vamos especificar qual é o tipo da partição, digite t

Comando (m para ajuda): t
Partição selecionada 1

agora digite 6 para especificar FAT16

Código hexadecimal (digite L para listar os códigos): 6
O tipo da partição 1 foi alterado para 6 (FAT16)
Comando (m para ajuda):

depois disto vamos criar uma partição com o espaço restante do pendrivre.

Comando (m para ajuda): n

agora ele vai perguntar se queremos criar uma particao estendida ou primária, digite p

Comando - ação
   e   estendida
   p   partição primária (1-4)
p

escolha o número da partição, digite 2

Número da partição (1-4): 2

agora o fdisk pergunta em qual cilindro a partição deve começar, apenas dê um enter, pois vamos usar o próximo cilindro livre ou cilindro padrão.

Primeiro cilindro (383-1015, padrão 383):
Usando valor padrão 383

depois disto ele quer saber qual será o tamanho da partição, dê um enter novamente, neste caso o fdisk entendeu que você quer usar todo o espaço em disco disponível.


Último cilindro ou +tamanho ou +tamanho M ou  +tamanho K (383-1015, padrão 1015):
Usando valor padrão 1015

agora precisamos gravar as modificações no pendrive, digite w

Comando (m para ajuda): w
A tabela de partições foi alterada!

Chamando ioctl() para reler tabela de partições.

AVISO: Re-leitura da tabela de partição falhou com erro 22: Argumento inválido.
O kernel ainda está usando a tabela antiga.
A nova tabela será usada no próximo reboot.

AVISO: Se você tiver criado ou alterado qualquer
partição DOS 6.x, consulte a página de manual
do fdisk para obter informações adicionais.
Sincronizando discos.

pronto, informações gravadas, agora vamos verificar a tabela de partições

# fdisk -l 
Disco /dev/sdb: 1998 MB, 1998585856 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00045919

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1               1          96      771088+   6  FAT16
/dev/sdb2              97         242     1172745   83  Linux

formatando partições (caso tenha escolhido o mé

certifique-se que o pendrive esta desmontando

# umount /dev/sbb1

agora vamos formatá-las

# mkfs.vfat -F 16 -n ubuntu804 /dev/sdb1
# mkfs.ext2 -b 4096 -L casper-rw /dev/sdb2

[editar] método gparted

instale o gparted

# apt-get install gparted

execute o gparted

# gparted

selecione o dispositivo no canto direito superiror (ex: /dev/sdb) apague as particoes existentes crie uma particao tipo FAT16 com 750 MegaBytes e uma segunda partição com o restante do espaço como EXT2.

# agora vamos apenas ativar a primeira partição para boot via fdisk
# fdisk /dev/sdb

Comando (m para ajuda): p

Disco /dev/sdb: 1998 MB, 1998585856 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00045919

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1               1          96      771088+   6  FAT16
/dev/sdb2              97         242     1172745   83  Linux 

Comando (m para ajuda): a
Número da partição (1-4): 1

Comando (m para ajuda): p

Disco /dev/sdb: 1998 MB, 1998585856 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00045919

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1   *           1          96      771088+   6  FAT16
/dev/sdb2              97         242     1172745   83  Linux

Comando (m para ajuda): quit

formate novamente a particao para dar um label a ela, vamos chamar de ubuntu804

# mkfs.vfat -F 16 -n ubuntu804 /dev/sdb1

[editar] montando imagem iso

# mkdir /tmp/ubuntu-livecd

montando imagem do ubuntu

# mount -o loop ubuntu-8.04-desktop-i386.iso /tmp/ubuntu-livecd

[editar] copiando arquivos para o pendrive

reconecte o pendrive ao seu computador.

normalmente ele será montando como /media/ubuntu804 (no caso de você usar o ubuntu).

instalando syslinux e mtools

# apt-get install syslinux mtools

usando o syslinux para tornar o pendrive "live".

# syslinux -sf /dev/sdx1

acesse o diretório onde a imagem está montada

# cd /tmp/ubuntu-livecd

agora vamos copiar para a partição FAT16 do pendrive

# cp -rfv casper dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines install/mt86plus /media/ubuntu804

entre no diretorio

# cd /media/ubuntu804

copie o arquivo de configuração do syslinux

# wget pendrivelinux.com/downloads/u8/syslinux.cfg

apague o initrd do pendrive

# cd casper
# rm initrd.gz

copie o initrd do site pendrivelinux.com

# wget pendrivelinux.com/downloads/u8/initrd.gz

desmonte a imagem iso

# umount /tmp/ubuntu-livecd

reinicie seu computador e ajuste a ordem de boot, colocando USB na frente, aproveite.

[editar] Referências

Ferramentas pessoais