Leitor de cartão SD que não está recebendo UUID durante a montagem da raiz

0

Coloquei a raiz de uma instalação do Trusty em um cartão SD flash, que acabarei configurando como somente leitura, usando um overlayFS para tornar algumas partes necessárias graváveis, como / etc. Eu sei que pode parecer um pouco louco fazer isso, mas não é onde eu estou tendo problemas.

O instalador do Ubuntu não reconhece o leitor de cartão múltiplo na frente da máquina, então eu uso um leitor de cartão USB para resolver este problema. Então, quando a instalação estiver completa, coloque o cartão SD no leitor de múltiplos cartões e lá vou eu.

Isso funcionou perfeitamente em 2 Foxconn NanoPCs com firmware de 2012, embora recentemente tenhamos comprado modelos mais novos, com firmware mais recente, e é aí que o problema apareceu.

Quando eu alterno do leitor de cartão USB para o interno, o sistema perde o controle do cartão SD durante a execução de scripts locais e cai para um shell no initramfs, dando a mensagem;

Gave up waiting for root device.  Common Problems;
  -Boot args (cat /proc/cmdline)
    -Check rootdelay= (did the system wait long enough?)
    -Check root= (did the system wait for the right device?)
  -Missing modules (cat /proc/modules; ls /dev)
ALERT!   /dev/disk/by-uuid/XXXXXXXXXXXXXX does not exist. Dropping to a shell!

Parece-me que o hardware não está passando o UUID para o sistema no ponto em que o sistema de arquivos raiz está sendo montado.

Existe alguma maneira de fazer o initramfs apontar para o leitor de cartão interno, ou procurar o cartão SD por algo diferente de UUID?

Alternativamente, estou latindo na árvore errada, há algo mais que eu deveria tentar?

EDITAR

Acabou de me ocorrer que a principal diferença entre os sistemas funcionando e o não funcional é que, ao escolher opções de inicialização do BIOS, se o cartão SD está no leitor interno, o sistema operacional mostra o nome do cartão SD (Multi-cartão genérico 1.00), mas nos sistemas que não funcionam, ele sempre aparece como leitor de cartão USB 2.0. Isso sugere que é um problema de firmware?

    
por Arronical 19.11.2014 / 18:49

1 resposta

1

Eu tenho o mesmo problema. Você pode identificar a placa pela qual a unidade está dentro do grub. Vá para / etc / default / grub e remova o comentário da linha relacionada ao não uso do uuid. Em seguida, execute 'update-grub'. Ele deve então tentar inicializar a partir de / dev / sda1, por exemplo, ao invés de procurar pelo uuid do cartão.

    
por Matt 19.03.2015 / 16:37