4.3. Preparar Ficheiros para iniciar a partir de USB Memory Stick

Existem dois métodos de instalação possíveis ao arrancar a partir de uma 'pen' USB. O primeiro é instalar tudo a partir da rede. O segundo é também copiar uma imagem de CD para a 'pen' USB e utiliza-la como fonte de pacotes, possivelmente em combinação com um 'mirror'. O segundo método é mais vulgar.

Para o primeiro método de instalação irá necessitar de obter uma imagem do instalador a partir do directório netboot (no local mencionado em Secção 4.2.1, “Onde Encontrar Imagens de Instalação”) e utilizar a forma flexível explicada abaixo para copiar ficheiros para a 'pen' USB.

As imagens de instalação para o segundo método de instalação podem ser encontradas no directório hd-media e pode ser utilizada a forma fácil ou a forma flexível para copiar a imagem para a 'pen' USB. Para este método de instalação irá também necessitar de obter uma imagem de CD. A imagem de instalação e a imagem de CD têm de ser baseadas no mesmo lançamento do debian-installer. Se não coincidirem é provável que obtenha erros [6] durante a instalação.

Para preparar o stick USB você irá necessitar dum sistema GNU/Linux que já esteja em funcionamento e onde seja suportado USB. Em sistemas GNU/Linux actuais a pen USB deve ser reconhecida automaticamente quando a inserir. Se não for o caso deve verificar se o módulo usb-storage está carregado. Quando a pen for inserida será mapeada para um dispositivo chamado /dev/sdX, onde X é uma letra na gama a-z. Deverá ser capaz de ver para qual dispositivo foi a 'pen' USB mapeada correndo o comando dmesg depois de a inserir. Para escrever para a sua 'pen', poderá ter de desligar o botão de protecção de escrita.

Atenção

Os procedimentos descritos nesta secção irão destruir tudo o que já esteja no dispositivo! Assegure-se que utiliza o nome correcto do dispositivo para a sua 'pen' USB. Se utilizar o dispositivo errado o resultado poderá ser que toda a informação no, por exemplo, disco rígido seja perdida.

Note que o stick USB deverá ter no mínimo 256 MB de tamanho (são possíveis configurações mais pequenas se seguir a Secção 4.3.2, “Copiar ficheiros — da maneira flexível”).

4.3.1. Copiar ficheiros — a maneira simples

Existe um ficheiro tudo-em-um hd-media/boot.img.gz que contém todos os ficheiros do instalador (incluindo o kernel) assim como o syslinux e o seu ficheiro de configuração

Note que, embora conveniente, este método tem uma grande desvantagem: o volume lógico do dispositivo será limitado a 256 MB, mesmo que a capacidade da 'pen' USB seja maior. Terá de reparticionar a 'pen' USB e criar sistema de ficheiros novos para obter novamente toda a capacidade se alguma vez a quiser utilizar para um propósito diferente. A segunda desvantagem é que não pode copiar uma imagem de CD completa para a 'pen' USB, mas apenas as imagens de CD mais pequenas bussinesscard ou netinst.

Para utilizar esta imagem simplesmente extraia-a directamente para a sua 'pen' USB:

# zcat boot.img.gz > /dev/sdX

Depois disso, monte a 'pen' USB (mount /dev/sdX /mnt, que terá agora um sistema de ficheiros FAT , e copie para lá uma imagem ISO Debian netinst ou businesscard. Desmonte a 'pen' (umount /mnt) e pronto está feito.

4.3.2. Copiar ficheiros — da maneira flexível

Se você gostar de mais flexibilidade ou se apenas quiser saber o que se está a passar, pode utilizar o seguinte método para colocar os ficheiros na sua 'pen'. Uma vantagem deste método é que — se a capacidade da sua 'pen' USB tiver espaço suficiente — tem a opção de copiar uma imagem ISO completa de CD para lá.

4.3.2.1. Particionar a 'pen' USB

Iremos demonstrar como preparar o memory stick para utilizar a primeira partição, em vez de todo o dispositivo.

Nota

Dado que a maioria das 'pens' USB vêm preconfiguradas com uma única partição FAT16, provavelmente não terá de reparticionar ou reformatar a 'pen'. Se de qualquer forma tiver de o fazer, utilize o cfdisk ou qualquer outra ferramenta de particionamento para criar uma partição FAT16[7] e depois criar o sistema de ficheiros utilizando:

# mkdosfs /dev/sdX1

Certifique-se de que utiliza o nome correcto do dispositivo para a sua 'pen' USB. O comando mkdosfs está no pacote Debian dosfstools.

Com o intuito de iniciar o kernel após arrancar a partir da 'pen' USB, nós iremos colocar o gestor de arranque na 'pen'. Apesar de qualquer gestor de arranque deva funcionar (por exemplo o lilo), é conveniente utilizar o syslinux, dado que utiliza uma partição FAT16 e pode ser reconfigurado apenas editanto um ficheiro de texto. Qualquer sistema operativo que suporte um sistema de ficheiros FAT pode ser utilizado para fazer alterações à configuração do gestor de arranque.

Para colocar o syslinux na partição FAT16 da sua 'pen' USB, instale os pacotes syslinux e mtools no seu sistema, e faça:

# syslinux /dev/sdX1

Mais uma vez certifique-se de que utiliza o nome correcto do dispositivo. A partição não pode estar montada quando iniciar o syslinux. Este procedimento escreve um sector de arranque para a partição e cria o ficheiro ldlinux.sys que contém o código do gestor de arranque.

4.3.2.2. Acrescentar a imagem do instalador

Monte a partição (mount /dev/sdX1 /mnt) e copie os seguintes ficheiros de imagens para a 'pen':

  • vmlinuz ou linux (binário do kernel)

  • initrd.gz (imagem ramdisk inicial)

Pode escolher entre a versão normal ou a versão gráfica do instalador. A última pode ser encontrada no directório gtk. Se quiser renomear os ficheiros, tenha atenção que o syslinux apenas consegue processar nomes de ficheiros DOS (8.3).

De seguida deverá criar um ficheiro de configuração syslinux.cfg o qual, no mínimo, deve conter as seguintes duas linhas (mude o nome do binário do kernel para linux se utilizou uma imagem netboot):

default vmlinuz
append initrd=initrd.gz

Para o instalador gráfico deve acrescentar video=vesa:ywrap,mtrr vga=788 na segunda linha.

Se utilizou uma imagem hd-media, deve agora copiar uma imagem ISO Debian[8] para a 'pen'. Quando terminar, desmonte a 'pen' USB (umount /mnt).

4.3.3. Arrancar do stick USB

Atenção

Se o seu sistema se recusa a arrancar a partir do stick de memória, este stick pode conter um master boot record (MBR) inválido. Para solucionar isto, utilize o comando install-mbr do pacote mbr:

# install-mbr /dev/sdX



[6] A mensagem de erro que é mais provável que seja mostrada é que não puderam ser encontrados módulos do kernel. Isto significa que a versão dos udebs de módulos do kernel incluidos na imagem de CD são diferentes da versão do kernel em execução.

[7] Não se esqueça de definir a flag de arranque bootable.

[8] Pode utilizar uma imagem de CD bussinesscard, netinst ou completa (veja Secção 4.1, “Conjuntos Oficiais de CD-ROM's Debian GNU/Linux”). Assegure-se que escolhe uma que caiba. Tenha em conta que a imagem netboot mini.iso não é utilizável para este propósito.