Como posso inicializar com rootfs comprimidos?

0

Meu problema é: Não posso usar rootfs compactados (o kernel trava durante a inicialização), mas os descompactados funcionam bem.

O que eu fiz: estou usando o Buildroot 2013.11 para gerar imagens para o meu sistema ARM 9 embarcado no Linux (2.6.39), inicializando a partir do cartão SD.

Estou "dd" inserindo as imagens (por exemplo, ext4) na segunda partição do cartão SD com

sudo dd if=/path-to/rootfs.ext4 of=/dev/sdb2 bs=2048

e habilite o driver em linux-menuconfig, isto é

File systems
- <*> The Extended 4 (ext4) filesystem
- [*] Use ext4 for ext2/ext3 file systems
- [*] Ext4 extended attributes

Agora, quando gosto de usar o ext4 compactado (por exemplo, com lzo), o buildroot gera um rootfs.ext4.lzo quando "dd" aqui com

sudo dd if=/path-to/rootfs.ext4.lzo of=/dev/sdb2 bs=2048

o comando é executado sem nenhum erro, mas a partir deste ponto o "sdb2" não está mais acessível até que seja formatado novamente. Ao usar este SD para inicializar o sistema, o kernel falha dizendo que ele estava tentando interpretar a partição com o ext4, mas ele não foi capaz de lê-lo.

Onde estou indo errado?

    
por user3085931 24.04.2014 / 17:06

1 resposta

1

Você omitiu muitas informações, mas o que você mostra aqui não faz sentido. Se você criar uma imagem do sistema de arquivos compactado, precisará carregá-la na memória e descompactá-la, para que ela seja então descompactada na memória. Parece que você está tentando acessar a imagem compactada como se fosse um sistema de arquivos - mas não é, um sistema de arquivos ext4 compactado não é um sistema de arquivos ext4 e não pode ser montado.

Se você quiser usar esse sistema de arquivos a partir do flash (ou seja, carregar e descarregar os arquivos conforme necessário), ele precisará ser descompactado. Se você quiser usar esse sistema de arquivos da memória, é melhor torná-lo um initramfs : você não não perca memória em partes vazias do sistema de arquivos, você pode apagar arquivos em tempo de execução se quiser liberar a memória, e você precisa de menos infraestrutura para construir e inicializar a partir dele.

    
por 25.04.2014 / 02:54