4.4. Preparando os arquivos para a inicialização usando um memory stick USB

Para preparar um memória stick USB, será necessário um sistema onde o GNU/Linux já esteja sendo executado e que tenha suporte a USB. Tenha certeza que o módulo do kernel usb-storate está carregado ( modprobe usb-storage) e tente achar o dispositivo SCSI que recebeu a associação com a memória stick USB (neste exemplo será usado o dispositivo /dev/sda). Para gravar em sua memória stick primeiro desative a proteção contra gravação.

Note que a memória stick USB deverá ter pelo menos 128MB de tamanho (é possível usar tamanhos menores, se seguir os passos descritos em Seção 4.4.2, “Copiando os arquivos — o método flexível”).

4.4.1. Copiando os arquivos — o método fácil

Existe um arquivo tudo em um chamado hd-media/boot.img.gz que contém todos os arquivos do programa de instalação (incluindo o kernel) também como o SYSLINUX e seu arquivo de configuração. Você terá somente que descompacta-lo diretamente para sua memória stick USB:

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

Atenção

Usando este método tudo o que já estiver no disposivido será destruído. Tenha certeza de que você está usando o nome correto do dispositivo para a sua memória USB.

Após isto, monte a memória stick USB (mount /dev/sda /mnt), que agora terá um sistema de arquivos FAT dentro dele e copie a imagem ISO Debian netinst ou cartão de visita para lá. Note que o nome de arquivo deverá finalizar em .iso. Desmonte a memória stick (umount /mnt) e você terá concluído.

4.4.2. Copiando os arquivos — o método flexível

Se quiser mais flexibilidade ou apenas deseja saber o que está acontecendo, você deverá usar o seguinte método para armazenar os arquivos em sua memória stick.

4.4.2.1. Particionamento de memória stick USB na Intel x86

Nós iremos mostrar como configurar uma memória stick para usar a primeira partição ao invés de todo dispositivo.

Nota

Como a maioria dos dispositivos stick USB vêm com uma partição contendo um sistema de arquivos FAT16 já configurada, você provavelmente não precisará reparticionar ou reformatar o stick. Se tiver que fazer isto de qualquer forma, use o cfdisk ou qualquer outra ferramenta de particionamento para criar a partição FAT16 e então crie o sistema de arquivos usando:

# mkdosfs /dev/sda1

Tenha atenção de usar o nome de dispositivo correto para o stick USB. O comando mkdosfs vem junto com o pacote da Debian dosfstools.

Para iniciar o kernel após a inicialização da memória stick USB, nós precisaremos colocar um gerenciador de partida na memória stick. No entanto, qualquer gerenciador de partida (e.g. LILO) deverá funcionar. É conveniente usar o SYSLINUX pois ele usa uma partição FAT16 e pode ser configurado apenas com a edição de um arquivo de textos. Qualquer sistema operacional que suporte o sistema de arquivos FAT poderá ser usado para fazer alterações na configuração do gerenciador de partida.

Para colocar o SYSLINUX em uma partição FAT16 de sua memória stick USB, instale os pacotes syslinux e mtools em seu sistema e execute:

# syslinux /dev/sda1

Novamente, tenha atenção ao usar o nome de dispositivo. A partição não deverá estar montada ao iniciar o SYSLINUX. Este processo grava um setor de partida na partição e cria um arquivo ldlinux.sys que contém o código do gerenciador de partida.

Monte a partição (mount /dev/sda1 /mnt) e copie os seguintes arquivos de um repositório da Debian para a memória stick:

  • vmlinuz (binário do kernel)

  • initrd.gz (imagem inicial do disco ram)

  • syslinux.cfg (arquivo de configuração do SYSLINUX)

  • Módulos opcionais de kernel

Se quiser renomear os arquivos, tenha atenção ao fato de que o SYSLINUX somente pode processar nomes de arquivos no formato (8.3) do DOS.

O arquivo de configuração do SYSLINUX syslinux.cfg deverá conter as seguintes duas linhas:

default vmlinuz
append initrd=initrd.gz ramdisk_size=12000 root=/dev/ram rw

Note que o parâmetro ramdisk_size pode ser aumentado, dependendo da imagem que estiver sendo usada para a inicialização. Caso a inicialização falhe, você pode tentar adicionar devfs=mount,dall na linha “append”.

4.4.2.2. Adicionando uma imagem ISO

Agora você deverá colocar qualquer imagem ISO da Debian (businesscard, netinst ou até mesmo uma completa) em sua memória stick (caso couber em seu espaço livre). O nome de arquivo da imagem deverá ser finalizado em .iso.

Se quiser instalar através da rede, sem usar uma imagem ISO, você deverá, é claro, pular o passo anterior. Ainda em tempo, você deverá usar um disco de memória ram inicial do diretório netboot ao invés do que se encontra em hd-media, porque o hd-media/initrd.gz não possui suporte a rede.

Quando terminar, desmonte a memória stick USB (umount /mnt) e ative sua proteção contra gravação.

4.4.2.3. Inicialização através da memória stick USB

Atenção

Caso seu sistema se recusar em inicializar a partir da memória stick, ela poderá conter uma MBR inválida (master boot record). Para corrigir isto, use o comando install-mbr que vem no pacote mbr:

# install-mbr /dev/sda