Tendo dificuldades para montar um rootfs para um Linux embarcado

0

Eu quero que meu Kernel inicie um rootfs do squashf para um Linux embarcado. O arquivo squashfs está em um sdcard, por isso eu coloco esses parâmetros em sua linha de comando:

console=ttyS0,115200 root=/dev/sdb1 rw rootfstype=squashfs

Infelizmente ocorreu um pânico no kernel:

VFS: Cannot open root device "sb1" or unkonw-block(0,0) Please append a correct "root=" boot option; here are the available partitions: not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

o que estou fazendo errado?

EDITAR :

Eu tentei com root = / dev / mmcblk0 mas os resultados são os mesmos. Preciso montar esses dispositivos primeiro e, em caso afirmativo, como isso é feito?

    
por user3085931 07.02.2014 / 11:35

1 resposta

2

Para montar um sistema de arquivos raiz, o kernel precisa de suporte tanto para o dispositivo quanto para o sistema de arquivos raiz, bem como para o tipo de sistema de arquivos no qual o sistema de arquivos raiz está ligado. Então, algumas soluções de problemas:

  • É possível montar o sistema de arquivos raiz se ele usar um tipo de sistema de arquivos diferente (como ext2 ou msdos / FAT?)
  • É possível montar um squashfs em outro dispositivo (como um pen drive USB)

Existem algumas maneiras de garantir que o sistema de arquivos raiz possa ser montado

  • Assegure-se de ter suporte para o leitor de cartões SD que o dispositivo usa no kernel ou em initramfs
  • Certifique-se de ter suporte para o sistema de arquivos squashfs no kernel ou no initramfs
por 07.02.2014 / 15:42