le assembly de mmcblk0p1 a échoué avec l'argument Invalid

Quand je cours linux de la carte sd et essaie de monter la carte sd-aucun problème, fonctionne bien. Mais quand je cours linux de la memory flash je suis incapable de monter ma carte SD:

# mount /dev/mmcblk0p1 /mnt/ mount: mounting /dev/mmcblk0p1 on /mnt/ failed: Invalid argument 

Quelle pourrait être la raison principale de cette erreur?

Information additionnelle

 root@Xilinx-ZC702-14_7:/# mount -t /dev/mmcblk0p1 /mnt mount: can't find /mnt in /etc/fstab root@Xilinx-ZC702-14_7:/var/volatile/log# ls wtmp root@Xilinx-ZC702-14_7:/var/volatile/log# dmesg dmesg: klogctl: Function not implemented 

Comme le commente goldilocks , mount -t s'attend à ce que le type de système de files vienne après -t , donc ça ne marchera pas. Sinon, il semble que vous ayez simplement besoin de spécifier le type de système de files. Si vous ne connaissez pas le type de système de files, il existe une list de methods à find dans cette réponse . Si la command file est disponible, c'est probablement la meilleure méthode. En tant que root, vous feriez:

 file -s /dev/mmcblk0p1 

Notez également que si le type de système de files n'est pas répertorié dans /proc/filesystems , le pilote n'est pas compilé dans le kernel et doit donc être disponible en tant que module externe. Une fois que vous avez le bon type, vous pouvez essayer:

 mount -t correct_type /dev/mmcblk0p1 /mnt 

Pour finir, assurez-vous également que le directory /mnt existe! Sinon, créez-le avec mkdir /mnt .

Raisons fondamentales: (mise à jour)

1) Votre système ne démarre pas (correctement?) Ou ne reconnaît pas le SD lors du démarrage à partir du flash. Existe-t-il le périphérique /dev/mmcblk0 après le démarrage à partir du flash? Que dit fdisk -l /dev/mmcblk0 ?

2) Il n'y a pas de système de files sur / dev / mmcblk0p1, vous devez d'abord créer un système de files ( mkfs ... ). Vérifiez avec le file -s /dev/mmcblk0p1

3) Le système de files sur / dev / mmcblk0p1 est corrompu, vous devez le vérifier / le réparer, essayez fsck /dev/mmcblk0p1 , ou créez un nouveau

4) Votre kernel (lors du démarrage à partir de Flash) ne possède pas le pilote de système de files requirejs, vérifiez cat /proc/filesystems et ls "/lib/modules/$(uname -r)/kernel/fs/" et voyez si cette list contient le type de système de files requirejs. Généralement, les anciens kernelx ne prennent pas en charge ext4, alors que votre operating system peut déjà avoir des outils pour créer un système de files ext4.

5) Défaut matériel – pourrait être la carte SD, le controller, le câblage … mais si cela fonctionne lors du démarrage de la carte SD, ce n'est probablement pas le cas.

Vérifiez d'abord les filesystems pris en charge dans le kernel.

 [kevin@hexcore ~] $ cat /proc/filesystems .... ext3 ext2 ext4 .... 

Je suppose que vous essayez de monter la même carte SD à partir de laquelle vous utilisez Linux. Si c'est le cas, je suppose, tout à fait raisonnablement, qu'il a le support du système de files natif sous Linux. Pour vous assurer que vous avez chargé le pilote de carte SD, vous pouvez essayer,

 $ sudo modprobe sdhci $ dmesg | tail -n 10 sdhci: Secure Digital Host Controller Interface driver 

Maintenant, essayez d'accéder en lecture aux partitions:

 $ sudo dd if=/dev/mmcblk of=/dev/null bs=4k count=0 # note: count = 0 

Alternativement:

 $ sudo fdisk -l /dev/mmcblk 

fdisk vous indiquera également les types de partitions.

Cela vous assure que le pilote de carte SD peut accéder au périphérique de bloc. Maintenant vous pouvez exécuter parted pour imprimer les filesystems:

 $ sudo parted /dev/mmcblk (parted) p Number Start End Size Type File system Flags 1 1049kB 8000MB 7999MB primary linux-swap(v1) 2 8000MB 500GB 492GB primary ext4 

Une fois que vous connaissez le FS, montez-le avec

 $ sudo mount -t <FS> /dev/mmcblkpX </target/dir> 

Je me souviens de l'erreur que vous avez lorsque le type de partition que vous essayez de monter n'est pas pris en charge.

Peut-être que vous devez utiliser (command séparée) en raison de la taille de la partition:

 # /sbin/parted /dev/mmcblk0p1 (parted) mklabel gpt this disk will be lost. Do you want to continue? Yes/No? yes .... (parted) quit 

Pour vous assurer que la partition est correctement créée, utilisez /sbin/parted /dev/mmcblk0p1 print”

Ensuite, vous devez formater la partition créée

 /sbin/mkfs -t correct_type /dev/mmcblk0p1