Rápida distro que permite apenas um boot USB?

2

BIOS de PCs mais antigos não têm a capacidade de inicializar a partir de USB e não há atualização do fabricante da placa-mãe que torna isso possível.

Normalmente eu carrego o UNetbootin para tornar o USB inicializável.

Como isso falha aqui, eu quero pedir um linux rápido que comece a partir de um disco rígido de 32mb e depois habilite o USB a inicializar.

Eu já experimentei o Grub, mas até onde eu sei você tem que pré-corrigir os sistemas usados. Como eu frequentemente mudo do Tiny Core, Arch e outras distribuições enxutas, quero ser flexível.

    
por Email 04.02.2012 / 19:19

2 respostas

2

Você não deve precisar de 32 mb, você realmente só precisa inicializar o linux (o kernel ) e ter certeza de que ele tem suporte para drives USB embutidos.

Pode ser complicado fazer com que encontre a partição root correta se o computador tiver vários discos SATA / USB, mas além disso, basta carregar o kernel e informá-lo para montar o pendrive como root.

Eu acho que isso não vai encaixar muito bem em um disquete (a menos que você domine a arte de diminuir kernels ou possua uma unidade de disquete de 2.88 e disquetes compatíveis), mas isso deve tornar o requisito de espaço mais simples.

Se isso falhar, bem, você pode tentar encontrar (ou codificar) um pequeno programa que é capaz de lidar com drives USB e colocá-lo em um disquete. Gostaria de saber se os gerenciadores de inicialização, como o Smart Boot Manager , conseguem carregar os discos USB.

Editar : na compilação do seu próprio kernel: o procedimento não é difícil, é fácil. A parte difícil é encontrar exatamente o que você precisa e o que você pode descartar. O capítulo do Manual do Gentoo sobre configuração do kernel mostra você os passos - para breve, você

  1. Obtenha o código-fonte do kernel e certifique-se de que o sistema tenha as ferramentas para compilá-lo (esta última parte não é coberta pelo Manual do Gentoo porque, bem, o Gentoo sempre possui essas ferramentas)

  2. Configurando o kernel: se você não está acostumado com o desenvolvimento do UNIX, muitas vezes as etapas de desenvolvimento são codificadas em um único arquivo com receitas, o Makefile , que é usado por make . O Linux o utiliza e oferece várias maneiras (interfaces) para configurar o Linux: make xconfig abre uma ferramenta gráfica, make config faz isso com texto simples, e eu geralmente uso make menuconfig , que fornece um menu legal (texto) .

  3. Compilando o kernel: Oh, apenas make , então ele compila o código e constrói a imagem

  4. Copiando o kernel compilado para onde ele deveria estar em

  5. Diga ao bootloader sobre esse kernel

Agora o problema é como fazer algo útil com isso, você quer tornar o seu kernel muito pequeno, então a possibilidade é ativar o suporte para módulos e apenas compilar no kernel quaisquer recursos modulares você precisa durante a inicialização (inclui suporte para o controlador USB e qualquer sistema de arquivos em que a unidade USB esteja), e o resto que você precisa deve ir como módulos para a unidade USB (eles podem ser carregados posteriormente).

O próprio kernel tem alvos para construir uma imagem de disquete, make fdimage , make fdimage144 e make fdimage288 , mas eu me pergunto como isso se comporta se não for possível construir uma imagem tão pequena ...

Eu também me pergunto se alguém poderia construir um kernel realmente minimalista com suporte a kexec e nenhum módulo, que apenas lê o drive USB e como um binário roda algo que kexec s outro kernel ( kexec , por analogia com o POSIX exec , substitui o kernel

    
por 04.02.2012 / 21:36
0

Você poderia dizer ao Grub para carregar em cadeia o que quer que esteja no disco USB; você não precisa fornecer nenhum conhecimento específico sobre o que está no disco USB. Mas, até onde eu sei, o Grub só suporta USB através do BIOS.

O que você pode fazer é inicializar em FreeDOS e usar Loadlin para carregar e inicializar um kernel Linux. Você precisará colocar o kernel e o initrd, se houver um, em uma partição que o FreeDOS possa acessar. Existem drivers USB FreeDOS para alguns sistemas.

Outro possível bootloader seria Plop , que suporta alguns dispositivos USB .

Se você estiver disposto a copiar o kernel (e initrd / initramfs, se aplicável) de todas as distribuições que você quer inicializar no disco rígido interno, é muito mais fácil: basta instalar qualquer gerenciador de inicialização que desejar, fazer com que ele carregue kernel do disco rígido interno e especifique um dispositivo raiz que por acaso esteja sobre USB.

    
por 05.02.2012 / 01:53

Tags