Boot pelo disquete / root no pendrive
Dica publicada em Linux / Hardware
Boot pelo disquete / root no pendrive
Algumas máquinas possuem portas USB, mas não possuem suporte a boot via USB. O que fazer então para utilizar um sistema Linux instalado, por exemplo, em um pendrive, nestas máquinas, eliminando assim por exemplo a necessidade da presença de um disco rígido nelas?
Considerando que provavelmente todas as BIOS possuem suporte a boot pelo disquete, uma solução desejável seria dar o boot pelo disquete de forma que o kernel possa montar o root com o sistema Linux instalado no pendrive.
Descreverei a seguir, para os mais experientes, de forma sucinta, um processo que, pelo menos em meu caso específico, funcionou a contento.
Em primeiro lugar utilizei um kernel compilado o mais básico possível (pequeno) com suporte a usb através dos módulos usbcore, usb-uhci e usb-storage. A seguir criei um initrd para aquele kernel, contendo aqueles módulos e tendo como root a partição do pendrive (/dev/sda1).
Formatei um disquete com ext2, montei e criei uma estrutura básica de disco de boot (diretórios boot, dev etc), copiando o kernel, o initrd, o config e o map para o diretório boot e criando os arquivos de dispositivos fd0 e null no diretório dev.
No diretório etc, criei um lilo.conf simples, para boot pelo disquete, root no disquete, initrd no disquete; instalei o lilo no disquete (lilo -v -r /mnt/floppy -C /etc/lilo.conf). Finalmente, boot pelo disquete.
Funcionou!
Em breve pretendo escrever um artigo mais detalhado, esperando que por hora esta dica seja útil àqueles que já possuem algum domínio do assunto.
Obrigado.
Considerando que provavelmente todas as BIOS possuem suporte a boot pelo disquete, uma solução desejável seria dar o boot pelo disquete de forma que o kernel possa montar o root com o sistema Linux instalado no pendrive.
Descreverei a seguir, para os mais experientes, de forma sucinta, um processo que, pelo menos em meu caso específico, funcionou a contento.
Em primeiro lugar utilizei um kernel compilado o mais básico possível (pequeno) com suporte a usb através dos módulos usbcore, usb-uhci e usb-storage. A seguir criei um initrd para aquele kernel, contendo aqueles módulos e tendo como root a partição do pendrive (/dev/sda1).
Formatei um disquete com ext2, montei e criei uma estrutura básica de disco de boot (diretórios boot, dev etc), copiando o kernel, o initrd, o config e o map para o diretório boot e criando os arquivos de dispositivos fd0 e null no diretório dev.
No diretório etc, criei um lilo.conf simples, para boot pelo disquete, root no disquete, initrd no disquete; instalei o lilo no disquete (lilo -v -r /mnt/floppy -C /etc/lilo.conf). Finalmente, boot pelo disquete.
Funcionou!
Em breve pretendo escrever um artigo mais detalhado, esperando que por hora esta dica seja útil àqueles que já possuem algum domínio do assunto.
Obrigado.
Abraços!