Pendrive

Revision 1 as of 2007-03-23 18:37:48

Clear message

Introdução

Este artigo ensina como instalar o Ubuntu Linux em um pendrive. Ele poderá ser usado como referência para instalar qualquer distro em LiveCD.

Configurando o Pendrive

Localizando o dispositivo

Inicialmente, você precisa plugar o pendrivre e verificar a qual dispositivo ele está associado.

$ sudo fdisk -l

Disk /dev/sdb: 1 GB, 515899392 bytes
16 heads, 32 sectors/track, 1968 cylinders
Units = cylinders of 512 * 512 = 262144 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1968      503792    e  W95 FAT16 (LBA)
  • Usando o nome do dispositivo errado seu sistema será destruido!!

Criando as partições

Desmonte a partição

$sudo umount /dev/sdb1

Execute o fdsik para recriar a tabela de partição

$sudo fdisk /dev/sdb

Delete todas as partições e crie 2 partições nova

  • 1 partição com o sistema de arquivos FAT de 750M onde será mantido a iso do LiveCD

  • O que sobrar será outra partição

Siga os seguintes passos para criar as partições usando o fdisk

  • n para criar uma nova partição
  • p para torná-la primaria
  • 1 então ela será a primeira partição primaria
  • Aceitar o padrão ou digite 1 para iniciar do primeiro cilindro
  • +750M para informar o tamanho desta partição
  • a ativará a partição para boot
  • 1 para escolher a partição 1
  • t para alterar o tipo de partição
  • 6 para configará-la como Fat16

Agora siga os seguintes passos para criar a segunda partição

  • n para criar uma nova partição
  • p para torná-la primaria
  • 2 será a segunda partição
  • Aceite o padrão e pressione <ENTER>

  • Aceite o padrão para usar todo o espaço livre
  • Digite w para gravar a tabela de partição no pendrive

Formatando as partições

A primeira parição será formatada como FAT16 e se chamará liveusb.

$ sudo mkfs.vfat -F 16 -n liveusb /dev/sdb1

A segunda partição será formata como ext2 e se chamará casper-rw. Lembre-se que se está partição não se chamar casper-rw este artigo não funcionará!

$ sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdb2

Agora, copie os arquivo para o penrive.

Instalando o Ubuntu

Montando a imagem do LiveCD do Ubuntu

Montando do CD

$ sudo mount /media/cdrom

Montando um arquivo .iso

$ mkdir /tmp/ubuntu-livecd
$ sudo mount -o loop /path/to/feisty-desktop-i386.iso /tmp/ubuntu-livecd

Montando as partições do pendrive

Desconecte e conecte novamente o pendrive e o linux montará as partições automaticamente no diretório /media, se isto não ocorrer execute os seguintes passos

$ mkdir /tmp/liveusb
$ sudo mount /dev/sdb1 /tmp/liveusb

Copiando os arquivos para o pendrive

Acesso o diretório da imagem do CD que neste artigo está montado em /tmp/ubuntu-livecd, mas posderá estar em /media/cdrom , e copie at the root of your usb first partition:

  • the directories: 'casper', 'disctree', 'dists', 'install', 'pics', 'pool', 'preseed', '.disk'
  • The content of directory 'isolinux'
  • and files 'md5sum.txt', 'README.diskdefines', 'ubuntu.ico'
  • as well as files: 'casper/vmlinuz', 'casper/initrd.gz' and 'install/mt86plus'

$ cd /tmp/ubutu-livecd
$ sudo cp -rf casper disctree dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz install/mt86plus /media/liveusb/

It might complain about symbolic links not being able to create, you can ignore this.

Now let's go to the first partition of your usb disk and rename isolinux.cfg to syslinux.cfg:

$ cd /tmp/liveusb
$ sudo mv isolinux.cfg syslinux.cfg

change /tmp/liveusb according to your settings

Edit syslinux.cfg so it looks like:

DEFAULT persistent
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xB6875A
APPEND  file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL persistent
  menu label ^Start Ubuntu in persistent mode
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL live
  menu label ^Start or install Ubuntu
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL xforcevesa
  menu label Start Ubuntu in safe ^graphics mode
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL check
  menu label ^Check CD for defects
  kernel vmlinuz
  append  boot=casper integrity-check initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL memtest
  menu label ^Memory test
  kernel mt86plus
  append -
LABEL hd
  menu label ^Boot from first hard disk
  localboot 0x80
  append -
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1
F1 f1.txt
F2 f2.txt
F3 f3.txt
F4 f4.txt
F5 f5.txt
F6 f6.txt
F7 f7.txt
F8 f8.txt
F9 f9.txt
F0 f10.txt

Woof, finally we have our usb disk almost usuable. We have a last thing to do: make the usb bootable.

Making the usb bar bootable

in order to make our usb disk bootable, we need to install syslinux and mtools:

$ sudo apt-get install syslinux mtools

And finally unmount /dev/sdb1 and make it bootable:

$ cd
$ sudo umount /tmp/liveusb
$ sudo syslinux -f /dev/sdb1

Here we are Laughing out loud , reboot, set your BIOS to boot from the usb bar and enjoy Ubuntu linux from a pendrive

Troubleshooting

If you are having trouble booting on the usb bar, this might be due to your MBR being corrupted. In order to fix it up, you can use lilo (I installed lilo on my box only for thid purpose).

$ lilo -M /dev/sdb

will fix the MBR on device /dev/sdb