Como meter um linux numa pen drive!
Date : 11 de Abril de 2007
Recebemos por dia vários pedidos de apoio e ideias para posts. Tentamos responder prontamente aos vossos pedidos de apoio e às vossas questões, mas por vezes vocês são danadinhos. Há pedidos do arco da velha, mas tentamos sempre estar à altura. Com isto não vos quero inibir de enviar os pedidos de ajuda ou ideias mas sim provocar-vos e picar-vos para que continuem a enviar.
Dessa lista de pedidos à alguns que saltam à vista (no meu caso pelo grau de
dificuldade/desafio) e quando vi este pelo canto do olho pensei para mim "Que nem venham com ideias, aquele é teu!". Se bem o pensei melhor o fiz. E aqui o tenho para vos apresentar.
O pedido/ideia em concreto tinha a ver com a possibilidade de colocar um Linux numa pen drive e poder fazer boot dele como se fosse um pequeno SO que anda de hardware em hardware a utilizar os recursos para viver. A ideia não parece apelativa assim à primeira vista mas se pensarem bem pode ser muito interessante. E reparem bem na vossa pose quando chegarem a casa de um amigo e disserem "Deixa ai aceder ao meu PC!". Geek demais?
óptimo, a ideia é mesmo essa! E sempre podem aguentar que fica mais fácil de transportar que um live CD.
Mas metendo a mão na massa.
Material necessário:
Um cd Ubuntu (live CD)
Uma pen USB de (pelo menos) 1GB Um PC a correr Linux
Já têm o material todo convosco? É então tempo de começar a "estragar", mas no bom sentido. Preparem-se que depois disto não vão querer outra coisa!
Preparar a PEN:
Na busca do dispositivo perdido
Em primeiro lugar é necessário ligar o a pen USB ao PC a correr Linux e verificar a que device ficou associado. Para isso devem executar o seguinte comando:
sudo fdisk -l
No meu caso o dispositivo apareceu como /dev/sdb e por isso daqui para a frente vou usar /dev/sdb como referencia para este how to. Caso vos apareça noutro local devem substituir para a vossa referência (pode aparecer em sda, sdc, etc...).
Uma vez que já achámos a nossa pen usb é altura de criar as partições necessárias.
Chamo a atenção que devem ter a certeza que o dispositivo encontrado é mesmo a pen usb ou arriscam-se a destruir o vosso Linux e nós não queremos isso. Por isso peço-vos que voltem a verificar a localização.
Criar as partições
Para este passo necessito que façam o unmount da vossa pen. Para isso corram o comando:
sudo umount /dev/sdb1
e que de seguida lancem o fdisk, que é uma ferramenta Linux para criação de partições:
sudo fdisk /dev/sdb
Vamos então apagar todas as partições da pen e criar duas novas [fizeram backup dos dados que tinham na pen, verdade?]. Uma partição grande de 750 Megas, que irá receber os ficheiros do Live CD (ISO), e o resto na segunda partição.
Na prompt do fdisk escrevam d x onde x é o numero da partição que pretendem apagar (normalmente as pens têm apenas uma partição pelo que podem escrever apenas x). Depois escrevam o seguinte (passo a passo):
n para criar uma nova partição p para a tornarem primária
1 para que seja a primeira partição
Aceitem o default ou escrevam 1 para que a partição se inicie no primeiro +750MB para que tenha 750 Megas
a para tornarem a partição activa como boot 1 para escolherem a partição 1
t para mudarem o tipo da partição 6 para a definirem como FAT16
E agora podem respirar fundo! Já criaram a primeira partição. Mas continuando para a segunda partição. Escrevam o seguinte (passo a passo mais uma vez):
n para criarmos mais uma vez uma partição p para que seja primária
2 para que seja a segunda partição
Aceitem o default, carregando em ENTER
Aceitem os valores apresentados para que tenha o tamanho máximo disponível No final, escrevam w para escreverem as alterações que definiram na pen USB E pronto, já estão criadas as duas partições! Não doí nada! E lá vamos nós formata-las.
Formatando as partições
A primeira partição vai ser formatada como FAT16 e vamos chamá-la de "liveusb" (label portanto!). Executem para isso o comando:
sudo mkfs.vfat -F 16 -n liveusb /dev/sdb1
A segunda partição vai ser do tipo ext2 e vai ter a label casper-rw. Atenção que o nome tem mesmo de ser este ou o how to falha!! Andem lá, o nome nem é assim tão mau. Porquê casper-rw? Porque eu quero, é simples! Na verdade existe uma razão mais lógica e com peso maior e que tem a ver com a distro escolhida e que mais à frente vão descobrir a razão.
Executem então o comando:
sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdb2
Ok, temos a pen pronta para receber a imagem do LiveCD e é tempo de o "mudarmos" para o lugar dele!
Instalar o Ubuntu na pen
Em primeiro lugar é necessário "montar" [Estes fulanos que inventaram estes nomes para estes comandos não eram portugueses de certeza!! Montar?? Enfim, continuando]o nosso ISO do Ubuntu.Existem duas possibilidades para isso, dependendo do que temos em connosco. Ou temos um ficheiro .iso ou temos um CD.
Montar usando um CD
é automaticamente "montado". Caso isto não aconteça devem executar o seguinte comando:
sudo mount /media/cdrom
Montar usando um ficheiro .iso
É necessário criar um directoria temporária para receber o mount point do iso. Usemos por exemplo /tmp/ubuntu-livecd e após isso montemos o iso ai:
sudo mkdir /tmp/ubuntu-livecdsudo mount -o loop /caminho/para/o_vosso_ iso_de_ubunto.iso /tmp/ubuntu-livecd
Agora que temos a imagem montada é a altura certa para montarmos a pen USB.
Montar a pen USB
Tal como anteriormente, para montar o LiveCD deverá bastar ligar a pen ao PC e ela aparece "como por milagre", possivelmente como /media/liveusb e /media/casper-rw. Caso isto não aconteça execute os seguintes comandos:
mkdir /tmp/liveusbsudo mount /dev/sdb1 /tmp/liveusb
Agora que temos as partições todas montadas [finalmente, ufa!] é tempo de copiar os ficheiros necessários.
Copiar os ficheiros necessários
Desloquem-se para a directoria que contem a imagem Ubuntu que montámos, que será /tmp/ubuntu-livecd ou /media/cdrom e copiem para a raiz da vossa pen USB o seguinte:
As directorias: 'casper', 'disctree', 'dists', 'install', 'pics', 'pool', 'preseed', '.disk' O conteúdo da directoria 'isolinux'
os ficheiros 'md5sum.txt', 'README.diskdefines', 'ubuntu.ico'
e ainda os ficheiros : 'casper/vmlinuz', 'casper/initrd.gz' e 'install/mt86plus'
cd /tmp/ubutu-livecdsudo cp -rf casper disctree dists install pics poo l preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico ca sper/vmlinuz casper/initrd.gz install/mt86plus /media/liveusb/
ignorar esses erros.
Agora vamos à primeira partição da pen USB e renomeiem isolinux.cfg para syslinux.cfg:
cd /tmp/liveusbsudo mv isolinux.cfg syslinux.cfg
Lembrem-se que devem alterar /tmp/liveusb para o que o vosso sistema tiver. Editem o ficheiro syslinux.cfg de modo que se pareça com o abaixo:
DEFAULT persistentGFXBOOT bootlogo GFXBOOT-BACKGROUND 0xB6875A A PPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_si ze=1048576 root=/dev/ram rw quiet splash -- LABEL persisten 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 l abel ^Start or install Ubuntu kernel vmlinuz append file=preseed/ub untu.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 roo t=/dev/ram rw quiet splash -- LABEL check menu label ^Check CD f or defects kernel vmlinuz append boot=casper integrity-check ini trd=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 0 x80 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
Está quase quase, não desistam. Só falta mesmo tornar a pen bootable.
Tornar a pen bootable
Por forma a tornar a pen bootable é necessário instalar duas ferramentas. O syslinux e o mtools:
sudo apt-get install syslinux mtools
cdsudo umount /tmp/liveusb sudo syslinux -f /dev/sdb1
Por incrivel que pareça já está! É rebootar, alterar a BIOS para que permita arrancar a partir de uma pen USB e gozem o vosso PenUbuntu.
O meu próximo how-to será basicamente o mesmo, mas desta vez iremos usar como SO de partida para a criação do PenUbuntu um Windows e não um Linux. E atenção que não vos estou a prometer um PenWindows!! Alias, para isso precisaremos de uma pen bem maior. Espero que se divirtam a impressionar os vosso amigos.
Nota: E porque achamos que não devemos ser mais que os outros, segue aqui a fonte do artigo http://www.debuntu.org/how-to-install-ubuntu-linux-on-usb-bar. Obrigado pelo aviso Luis Bastos