![Como ampliar um sistema de arquivos ext3/ext4 através de debugfs?](https://rvso.com/image/170272/Como%20ampliar%20um%20sistema%20de%20arquivos%20ext3%2Fext4%20atrav%C3%A9s%20de%20debugfs%3F.png)
Estou em uma situação em que desejo aumentar o tamanho padrão de um sistema de arquivos ext4 usado pelo firmware.
O problema é resize2fs
fazer coisas extras, como limpar alguns recursos do sistema de arquivos e realocar o diário para o início da partição do dispositivo (como resultado, meu dispositivo continua travando antes de montar qualquer coisa e como não sei como acessar o console do kernel antes, adb
posso ser lançado, não tenho ideia de como acessá-lo ou ajustar o console=
parâmetro do kernel para ter o console impresso no display do dispositivo).
Como se trata de ampliação, normalmente não é necessária nenhuma realocação. Então, como usar debugfs
para alterar o tamanho junto com (talvez se necessário) o número de inodes livres? Quero dizer, qual campo set_super_value
devo definir e quais números escolher?
Mais importante,como faço para definir as somas de verificação do descritor de grupo?
Responder1
A menos que seu sistema de arquivos seja muito pequeno (<128 MB), você não pode simplesmente alterar um número inteiro no superbloco para redimensionar o sistema de arquivos. Existem outras estruturas de metadados que precisam ser atualizadas para que o sistema de arquivos seja útil. Dito isto, vocêpoderser capaz de atualizar o campo s_blocks_count no superbloco com o comando debugfs "set_super_value" (ssv) e, em seguida, executar e2fsck para que ele tente reconstruir os próprios metadados ausentes.
A capacidade de fazer isso depende muito de quanto você está redimensionando o sistema de arquivos e se o recurso "resize_inode" estava habilitado no momento em que o sistema de arquivos foi formatado. Caso contrário, os metadados ausentes que o e2fsck reconstrói podem se sobrepor a outros conteúdos importantes do sistema de arquivos e podem causar outros problemas.
A melhor maneira de verificar se isso funciona é fazer uma imagem de todo o sistema de arquivos e testar.