Linux - RDWR konnte aufgrund nicht unterstützter optionaler Funktionen nicht gemountet werden (400)

8

Ich versuche Android von der SD-Karte auszuführen. Diese Karte ist vorbereitet. Es gibt Partitionen: boot(FAT32), rootfs(ext4), system(ext4), cache(ext4)und usedata(ext4). Boot - Partitionen Dateien ausführen u-boot: MLO, u-boot.binund uImage. Um es auszuführen, benutze ich Befehle

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

Dann sehe ich, wie Linux startet. Nach einigen Sekunden beim Laden wird jedoch rootfseine Fehlermeldung angezeigt

[    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

Ich weiß nicht warum es passiert. Wie kann ich dieses Problem lösen?

Tropfer
quelle

Antworten:

6

Der Fehler "EXT4-fs: RDWR konnte wegen nicht unterstützter optionaler Funktionen (400) nicht gemountet werden" ist auf unterschiedliche Versionen zwischen dem Partitionsformatierer (mkfs.ext4) und dem Mounter zurückzuführen.

Sie haben zwei Möglichkeiten:

a) Entweder müssen Sie das Mounter-Programm mit einer neueren Distribution auf der SD-Karte aktualisieren.

b) oder Sie müssen die Dateien sichern, die SD-Karte mit derselben Distribution (denselben ext4-Versionen) neu formatieren, die Sie mounten, und nach der Neuformatierung die Dateien erneut auf die SD-Karte kopieren.

Bei der zweiten Option muss mit den ursprünglichen ext4-Optionen, die der Formatierer angegeben hat, vorsichtig umgegangen werden, wobei versucht wird, die gleichen Optionen bei der Neuformatierung zu berücksichtigen. Beachten Sie auch, dass für eine Neuformatierung von Partitionen keine Neupartitionierung des gesamten Geräts erforderlich ist, sodass der Start-MBR nicht geändert wird.

tormes
quelle
15

Die Funktion ext4 (400) ist die neue Funktion metadata_csum. Wenn diese Funktion aktiviert ist und alte Tools zum Mounten des Dateisystems verwendet werden, können sie nur schreibgeschützt mounten.

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

So erstellen Sie ein ext4-Dateisystem ohne diese Funktion:

sudo mke2fs /dev/sdb1 -O ^metadata_csum

Oder schalten Sie es in einem bereits erstellten Dateisystem aus:

sudo tune2fs -O ^metadata_csum /dev/sdb1
jjcf89
quelle
1
git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/lib/ext2fs/… #define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400
jjcf89
Es ist eine Schande, dass sie die neue ext4 mit der älteren inkompatibel gemacht haben. Zum Vergleich: FAT32 kann sowohl unter Windows 10 als auch unter DOS verwendet werden. Könnten ältere Mount-Tools die neuen Funktionen nicht einfach ignorieren?
Nuclear
Sie würden so denken.
jjcf89