Linux - impossibile montare RDWR a causa delle funzionalità opzionali non supportate (400)


10

Provo ad eseguire Android dalla scheda SD. Questa carta è pronta. Ci sono partizioni: boot(FAT32), rootfs(ext4), system(ext4), cache(ext4)e usedata(ext4). Partizioni di avvio ha i file per eseguire u-boot: MLO, u-boot.bine uImage. Per eseguirlo uso i comandi

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

Di quello che vedo come inizia Linux. Ma dopo pochi secondi sul passaggio di caricamento rootfsvedo un messaggio di errore

[    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

Non so perché succede. Come posso risolvere questo problema?

Risposte:


6

L'errore "EXT4-fs: impossibile montare RDWR a causa di funzionalità opzionali non supportate (400)" è dovuto a versioni diverse tra il formattatore di partizioni (mkfs.ext4) e il mounter.

Hai due opzioni:

a) O è necessario aggiornare il programma mounter utilizzando una nuova distribuzione all'interno della scheda SD.

b) oppure è necessario eseguire il backup dei file, riformattare la scheda SD con la stessa distro (le stesse versioni ext4) in cui si sta eseguendo il montaggio e dopo la riformattazione copiare nuovamente i file sulla scheda SD.

Nella seconda opzione, è necessario prestare attenzione alle opzioni ext4 originali che il formattatore ha messo, cercando di considerare le stesse opzioni in riformattazione. Si noti inoltre che un riformattazione delle partizioni non necessita di una ripartizione dell'intero dispositivo, quindi il MBR di avvio non verrebbe modificato.


15

La funzione ext4 (400) è la nuova funzione metadata_csum. Se questa funzione è abilitata e vengono utilizzati vecchi strumenti per montare il filesystem, saranno in grado di montare solo in sola lettura.

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

Per creare un filesystem ext4 senza questa funzione:

sudo mke2fs /dev/sdb1 -O ^metadata_csum

Oppure disattivalo su un filesystem già creato:

sudo tune2fs -O ^metadata_csum /dev/sdb1

1
git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/lib/ext2fs/… #define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400
jjcf89

È un peccato che abbiano reso il nuovo ext4 incompatibile con quello più vecchio. A titolo di confronto, FAT32 può essere utilizzato su Windows 10 e su DOS. Gli strumenti di montaggio più vecchi non potrebbero semplicemente ignorare le nuove funzionalità?
Nucleare,

Lo penseresti.
jjcf89,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.