Linux - impossible de monter RDWR en raison de fonctionnalités optionnelles non prises en charge (400)

10

J'essaie d'exécuter Android à partir de la carte SD. Cette carte est préparée. Il y a des partitions: boot(FAT32), rootfs(ext4), system(ext4), cache(ext4)et usedata(ext4). Partitions de démarrage contient des fichiers pour exécuter u-boot: MLO, u-boot.binet uImage. Pour l'exécuter, j'utilise des commandes

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

Que je vois comment Linux démarre. Mais après quelques secondes à l'étape de chargement, rootfsje vois un message d'erreur

[    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

Je ne sais pas pourquoi ça arrive. Comment puis-je résoudre ce problème?

Compte-gouttes
la source

Réponses:

6

L'erreur "EXT4-fs: impossible de monter RDWR en raison de fonctionnalités optionnelles non prises en charge (400)" est due à des versions différentes entre le formateur de partition (mkfs.ext4) et le monteur.

Vous avez deux options:

a) Soit vous devez mettre à jour le programme de montage en utilisant une nouvelle distribution à l'intérieur de la carte SD.

b) ou vous devez sauvegarder les fichiers, reformatez la carte SD avec la même distribution (les mêmes versions ext4) que vous faites le montage, et après le reformatage copiez à nouveau les fichiers sur la carte SD.

Dans la deuxième option, il faut faire attention aux options ext4 d'origine que le formateur a mises, en essayant de considérer les mêmes options au reformatage. Notez également qu'un reformatage des partitions n'a pas besoin d'une répartition de l'ensemble du périphérique, de sorte que le MBR de démarrage ne serait pas modifié.

tormes
la source
15

La fonctionnalité ext4 (400) est la nouvelle fonctionnalité metadata_csum. Si cette fonction est activée et que d'anciens outils sont utilisés pour monter le système de fichiers, ils ne pourront monter qu'en lecture seule.

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

Pour créer un système de fichiers ext4 sans cette fonctionnalité:

sudo mke2fs /dev/sdb1 -O ^metadata_csum

Ou désactivez-le sur un système de fichiers déjà créé:

sudo tune2fs -O ^metadata_csum /dev/sdb1
jjcf89
la source
1
git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/lib/ext2fs/… #define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400
jjcf89
Il est dommage qu'ils aient rendu le nouvel ext4 incompatible avec l'ancien. À titre de comparaison, FAT32 peut être utilisé sur Windows 10, ainsi que sur DOS. Les anciens outils de montage ne pouvaient-ils pas simplement ignorer les nouvelles fonctionnalités?
Nucléaire
On pourrait le penser.
jjcf89