Linux - não foi possível montar o RDWR devido a recursos opcionais não suportados (400)

10

Eu tento rodar o Android a partir do cartão SD. Este cartão está preparado. Há partições: boot(FAT32), rootfs(ext4), system(ext4), cache(ext4)e usedata(ext4). Partições de inicialização tem arquivos para executar u-boot: MLO, u-boot.bine uImage. Para executá-lo, uso comandos

mmcinit 0
fatload mmc 0 0x80000000 uImage
setenv bootargs 'console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2 root=/dev/mmcblk1p2 rw rootwait rootfstype=ext4'
bootm 0x80000000

Do que vejo como o Linux é iniciado. Mas, após alguns segundos na etapa de carregamento rootfs, vejo uma mensagem de erro

[    4.015655] EXT4-fs (mmcblk1p2): couldn't mount RDWR because of unsupported optional features (400)
[    4.036499] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    4.079986] List of all partitions:
[    4.083801] b300        31162368 mmcblk0  driver: mmcblk
[    4.089660]   b301             128 mmcblk0p1 f9f21f00-a8d4-5f0e-9746-594869aec34e
[    4.097839]   b302             256 mmcblk0p2 f9f21f01-a8d4-5f0e-9746-594869aec34e
[    4.106018]   b303             128 mmcblk0p3 f9f21f02-a8d4-5f0e-9746-594869aec34e
[    4.114288]   b304           16384 mmcblk0p4 f9f21f03-a8d4-5f0e-9746-594869aec34e
[    4.122436]   b305              16 mmcblk0p5 f9f21f04-a8d4-5f0e-9746-594869aec34e
[    4.130676]   b306            8192 mmcblk0p6 f9f21f05-a8d4-5f0e-9746-594869aec34e
[    4.138916]   b307            8192 mmcblk0p7 f9f21f06-a8d4-5f0e-9746-594869aec34e
[    4.147094]   103:00000     524288 mmcblk0p8 f9f21f07-a8d4-5f0e-9746-594869aec34e
[    4.155334]   103:00001     262144 mmcblk0p9 f9f21f08-a8d4-5f0e-9746-594869aec34e
[    4.163574]   103:00002   30342128 mmcblk0p10 f9f21f09-a8d4-5f0e-9746-594869aec34e
[    4.171874] b310            2048 mmcblk0boot1  (driver?)
[    4.177734] b308            2048 mmcblk0boot0  (driver?)
[    4.183593] b318        15179776 mmcblk1  driver: mmcblk
[    4.189453]   b319          102400 mmcblk1p1 00000000-0000-0000-0000-000000000000
[    4.197692]   b31a           10240 mmcblk1p2 00000000-0000-0000-0000-000000000000
[    4.205932]   b31b               1 mmcblk1p3 00000000-0000-0000-0000-000000000000
[    4.214141]   b31d          262144 mmcblk1p5 00000000-0000-0000-0000-000000000000
[    4.222351]   b31e        13228032 mmcblk1p6 00000000-0000-0000-0000-000000000000
[    4.230682]   b31f         1572864 mmcblk1p7 00000000-0000-0000-0000-000000000000
[    4.238891] No filesystem could mount root, tried:  ext4
[    4.244812] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,26)
[    4.254089] CPU1: stopping

Não sei por que isso acontece. Como posso resolver este problema?

Conta-gotas
fonte

Respostas:

6

O erro "EXT4-fs: não pôde montar o RDWR devido a recursos opcionais não suportados (400)" é devido a versões diferentes entre o formatador de partição (mkfs.ext4) e o montador.

Você tem duas opções:

a) Você precisa atualizar o programa mounter usando uma distribuição mais nova dentro do cartão SD.

b) ou você precisa fazer backup dos arquivos, reformatar o cartão SD com a mesma distribuição (as mesmas versões ext4) que você está montando e depois da reformatação, copie os arquivos novamente no cartão SD.

Na segunda opção, deve-se tomar cuidado com as opções ext4 originais que o formatador colocou, tentando considerar as mesmas opções na reformatação. Observe também que uma reformatação de partições não precisa de uma repartição de todo o dispositivo; portanto, o MBR de inicialização não seria alterado.

tormes
fonte
15

O recurso ext4 (400) é o novo recurso metadata_csum. Se esse recurso estiver ativado e as ferramentas antigas forem usadas para montar o sistema de arquivos, eles poderão montar somente leitura.

https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums

Para criar um sistema de arquivos ext4 sem esse recurso:

sudo mke2fs /dev/sdb1 -O ^metadata_csum

Ou desative-o em um sistema de arquivos já criado:

sudo tune2fs -O ^metadata_csum /dev/sdb1
jjcf89
fonte
1
git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/lib/ext2fs/… #define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400
jjcf89
É uma pena que eles tenham tornado o novo ext4 incompatível com o anterior. Como comparação, o FAT32 pode ser usado no Windows 10 e no DOS. As ferramentas de montagem mais antigas não poderiam simplesmente ignorar os novos recursos?
Nuclear
Você pensaria que sim.
Jjcf89 11/04/19