Parece que a tentativa de montagem apenas tenta ext3 e ext2, não ext4. Você tem ext4 no seu kernel certo? (Está listado em /proc/filesystems
.) Será que você tem /dev/sda2
listado em /etc/fstab
como ext3 ?
Estou seguindo este tutorial . Mas fiquei preso no passo 9, de alguma forma não consigo montar meu USB.
Sempre que tento montar meu USB, recebo o seguinte erro:
root@OpenWrt:~# mount /dev/sda2 /mnt/sda2
mount: mounting /dev/sda2 on /mnt/sda2 failed: Invalid argument
O USB parece estar OK e conectado, mas de alguma forma eu não consigo montar a partição sda2 (ext4).
As partições também parecem estar bem:
root@OpenWrt:~# blkid
/dev/mtdblock2: TYPE="squashfs"
/dev/sda1: UUID="e39964e8-1b51-4b1f-b034-0147fa394eea" TYPE="swap"
/dev/sda2: UUID="157cfc0d-f33d-4103-950d-6ae01baa7177" TYPE="ext4"
E esta é minha dmesg
output:
root@OpenWrt:~# dmesg | grep sda
[ 9.360000] sd 0:0:0:0: [sda] 7987200 512-byte logical blocks: (4.08 GB/3.80 GiB)
[ 9.370000] sd 0:0:0:0: [sda] Write Protect is off
[ 9.370000] sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
[ 9.370000] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 9.400000] sda: sda1 sda2
[ 9.410000] sd 0:0:0:0: [sda] Attached SCSI removable disk
[ 41.850000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[ 41.870000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[ 41.880000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[ 270.660000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[ 270.670000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[ 270.670000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[ 585.040000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[ 585.050000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[ 585.060000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[ 586.540000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[ 586.550000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[ 586.560000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[ 651.570000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[ 651.580000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[ 651.590000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
Esta é minha fdisk -l
output:
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 4089 MB, 4089446400 bytes
255 heads, 63 sectors/track, 497 cylinders, total 7987200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 1 7987199 3993599+ ee GPT
Parece que a tentativa de montagem apenas tenta ext3 e ext2, não ext4. Você tem ext4 no seu kernel certo? (Está listado em /proc/filesystems
.) Será que você tem /dev/sda2
listado em /etc/fstab
como ext3 ?
A mensagem de erro vem desta linha em <Linux kernel source code>/fs/ext4/super.c
:
if (ext4_has_unknown_ext4_ro_compat_features(sb)) {
ext4_msg(sb, KERN_ERR, "couldn't mount RDWR because of "
"unsupported optional features (%x)",
(le32_to_cpu(EXT4_SB(sb)->s_es->s_feature_ro_compat) &
~EXT4_FEATURE_RO_COMPAT_SUPP));
O espaço reservado para o número na mensagem de erro é %x
, portanto, o número 400 na mensagem de erro real é 0x400 hexadecimal. E é um dos recursos identificados pelas constantes EXT4_FEATURE_RO_COMPAT_
.
As definições para essas constantes podem ser encontradas em <Linux kernel source code>/fs/ext4/ext4.h
:
#define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400
O recurso dir_nlink
mencionado por sourcejedi é 0x20, não 0x400:
#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
Portanto, o MR3020 não pôde montar o sistema de arquivos no modo de leitura / gravação porque seu sistema operacional não pode manipular somas de verificação de metadados do ext4. Portanto, você precisará desativar esse recurso usando o sistema Linux que você usou para criar o pendrive. Mova o stick USB de volta para esse sistema (não monte o sistema de arquivos ext4) e execute:
tune2fs -O^metadata_csum /dev/sdX2
(substitua X por qualquer que seja o identificador real do dispositivo USB no seu sistema Linux.)
Depois de executar este comando com sucesso, o recurso metadata_csum
será desativado no sistema de arquivos ext4 do pen drive USB, e o MR3020 deve agora poder usá-lo.
Você o formatou com o ext4 depois de criar a partição?
mkfs.ext4 /dev/sda2
Em seguida, tente montar ou montar com o ext4 especificando explicitamente o tipo de sistema de arquivos mount -t ext4 /dev/sda2 /mnt/sda2