Configurações dos computadores utilizados:
Notebook:
- Chip gráfico switchable Radeon 6770M
- Disco /dev/sda com Windows 7 de fábrica
Computador desktop:
- Chip gráfico NVIDIA GTX980
- Disco /dev/sda com Windows 8.1
Iniciei a instalação pelo notebook, então foi plugado um HD externo de 320 GB utilizando um case na USB 3.0 (fica lento na USB 2.0! Mas nem tanto!!!).
Inicie o boot na imagem de instalação do
Slackware Current.
O objetivo do artigo não é ensinar como instalar o Slackware, então deverás procurar como fazê-lo caso sinta alguma dificuldade (se é que tem dificuldade no Slackware).
O disco externo foi localizado como
/dev/sdb, então eu particionei em 3, um swap, uma raiz e uma home, sendo assim realiza-se a instalação completa (full instalation).
Ao final da instalação, faça a instalação manual do LILO, gravando o boot exclusivamente na MBR do disco externo (no meu caso
/dev/sdb), assim já teremos o
/etc/lilo.conf ajustado.
Instalação concluída, mas se você iniciar o sistema por meio do HD externo (não esqueça de configurar o boot na inicialização do PC!!!), terás um KERNEL PANIC!!!
Então o que fazer???
Ambiente chroot
Como exitem zilhões de posts sobre o que é chroot vamos resumir...
chroot é a possibilidade de "enjaular" uma raiz de arquivos (pasta ou afins), quem está dentro do chroot não pode acessar o conteúdo do sistema de arquivos fora do nível especificado, sendo possível mesmo rodar outro sistema dentro do mesmo (sem virtualização).
Voltando...
Como o sistema não vai inicializar, então utilizamos o sistema em modo chroot.
Dar-se boot na mídia de instalação do Slackware, criamos uma pasta para montar o sistema...
Para identificar em qual dispositivo está seu sistema utilizamos o fdisk para localizar:
# fdisk -l
No meu caso tenho:
Dispositivo Inicializar Início Fim Setores Tamanho Id Tipo
/dev/sdb1 2048 16779263 16777216 8G 82 Linux swap
/dev/sdb2 * 16779264 268437503 251658240 120G 83 Linux
/dev/sdb3 268437504 625142447 356704944 170,1G 83 Linux
Então monto o
/dev/sdb2 como raiz:
# mkdir /hd
# mount /dev/sdb2 /hd
# chroot /hd
# mount -t proc proc proc
# mount -t sysfs sys sys
# mount /home
Identificando os discos via UUID
Durante o boot, seu disco pode ser alocado em um nome de dispositivo diferente do qual ele foi instalado, então se utilizamos por exemplo o
/dev/sdb2 como raiz, ele pode não ser localizado, e aí temos um problema.
Para isto temos o UUID que significa: Universally Unique IDentifier, que é um identificador único gerado de acordo com o hardware.
Neste caso então o disco poderá ser identificado independente de onde estiver.
Para tal, criamos um arquivo de textos onde conterá os UUIDs de todas as partições do HD USB para servir como referência nas configurações seguintes.
Neste momento meu HD externo é
/dev/sdb e este deverá ser adaptado de acordo com o seu hardware!
# blkid /dev/sdb1 >> /root/discos.txt (swap)
# blkid /dev/sdb2 >> /root/discos.txt (/)
# blkid /dev/sdb3 >> /root/discos.txt (/home)
Dentro do
/root/discos.txt teremos as UUID para copiar e colar nas configs a seguir...