Linux inicializando com o sistema de arquivos USB [closed]

1

Estou tentando inicializar um sistema Linux armazenado em uma unidade USB que obtive seguindo o Linux do manual do Scratch .

Eu terminei tudo menos a parte de inicialização, o problema é que quando o kernel tenta montar o sistema de arquivos a unidade USB não faz parte das opções, apenas do disco rígido. Eu suponho USB e outros sistemas de armazenamento são enumerados em /dev somente após o sistema de arquivos ser montado.

Existe uma solução alternativa para que eu possa montar o sistema de arquivos a partir de uma unidade USB? Mesmo que seja necessário corrigir a fonte do kernel.

EDIT: Desculpe pela falta de informação.

Estou usando o Grub2 como bootloader

Estou usando o sysvinit (o Kernel nunca o inicia)

É uma partição MBR, estou usando o PARTUUID = 000337f3-01 como root. Ele funciona em um Máquina QEMU

Para configurar o ramdisk eu apenas faço o initrd / bzImage Sim eu construí o udev

    
por felknight 01.02.2014 / 02:23

1 resposta

3

A maneira como eu resolveria esse problema é ter o que é chamado de "initrd". Eu não sei o quão familiar você ficou com o initrd ao fazer o Linux a partir do zero, mas eles têm uma página sobre o initrd aqui:

link

O que o initrd faz é agir como um pequeno sistema de arquivos raiz no qual o kernel inicia após carregar o kernel. Este sistema de arquivos simples tem todos os arquivos que o kernel precisa para montar o sistema de arquivos raiz e carregar outros drivers que o sistema precisa para inicializar. Uma vez que o sistema de arquivos de inicialização real é montado no initrd, o initrd faz com que o sistema de arquivos raiz, o sistema de arquivos, termine e o kernel inicie o processo init no sistema de arquivos raiz real.

É, de fato, possível fazer um sistema micro-Linux que nunca sai do initrd; Eu fiz isso há alguns anos atrás ao fazer uma distro Linux com um disquete do zero.

    
por 01.02.2014 / 06:53