Altera o sistema de arquivos raiz em um sistema embarcado

1

Estou usando o Buildroot para gerar um Linux embarcado com um kernel v. 2.6.39, que no final inicia o busybox. Tudo funciona bem ao construir com o Initramfs como "rootfs". Mas o Initramfs não é o melhor para as minhas necessidades, então eu quero mudar para outros fs como o SquashFS ou melhor ainda não compactá-lo.

De qualquer forma eu não consigo descobrir como dizer ao kernel que ele deve inicializar, por exemplo, o arquivo SquashFS. O que eu sei é que isso é feito por alguns parâmetros de linha de comando do kernel. Infelizmente não consigo encontrar mais informações sobre isso com diferentes mecanismos de pesquisa ou aqui. E assim não funciona. Ele sempre termina, como esperado, com um kernelpanic.

E como é que isto acontece se não o tiver comprimido e por isso só tem que ser copiado do Flash para a RAM?

    
por user3085931 17.01.2014 / 15:02

1 resposta

2

Certifique-se de construir o sistema de arquivos que você deseja diretamente no kernel e não como um módulo.

O SquashFS é somente leitura, então você não pode usar isso sozinho. Talvez seja melhor inicializar a partir do initramfs e depois carregar o root de uma imagem, mas essa é a sua chamada.

    
por 17.01.2014 / 15:33