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!
É tempo de preparar a pen USB para receber os ficheiros do Live CD.
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 Normalmente nas distro’s de Ubuntu (e mesmo outras mais recentes) basta colocar o CD e ele é 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 pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz install/mt86plus /media/liveusb/
É provável que apareçam erros referente a problemas em criar links simbólicos, mas podem 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 APPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=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 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
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
Finalmente deve “desmontar” a pen drive e torná-la bootable:
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