Когда я запускаю Linux с SD-карты и пытаюсь смонтировать SD-карту - нет проблем, работает нормально. Но когда я запускаю Linux с флэш-памяти, я не могу смонтировать SD-карту:
# mount /dev/mmcblk0p1 /mnt/
mount: mounting /dev/mmcblk0p1 on /mnt/ failed: Invalid argument
Что может быть основной причиной этой ошибки?
Дополнительная информация
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
-t ...
), чтобыfstab
запись не использовалась./var/log/messages
? Как насчетdmesg | tail
?mount -t /dev/mmcblk0p1 /mnt
не полная команда Если вы знаете тип файловой системы, вы должны указать его после аргумента -t (напримерmount -t vfat /dev/mmcblk0p1 /mnt
) или полностью опустить -t.Ответы:
Как прокомментировал goldilocks ,
mount -t
ожидает, что тип файловой системы будет указан позже-t
, поэтому он не будет работать. В противном случае это звучит так, как будто вам просто нужно указать тип файловой системы. Если вы не знаете тип файловой системы, то в этом ответе есть список методов . Еслиfile
команда доступна, это, вероятно, лучший метод. В качестве пользователя root вы должны сделать:Также обратите внимание, что если тип файловой системы не указан в списке
/proc/filesystems
, драйвер не скомпилирован в ядро и поэтому должен быть доступен как внешний модуль. Когда у вас есть правильный тип, вы можете попробовать:В заключение, также убедитесь, что
/mnt
каталог существует! Если не создать его сmkdir /mnt
.источник
Основные причины: (обновлено)
1) Ваша система не (правильно?) Инициализируется или не распознает SD при загрузке с флэш-памяти. Есть ли
/dev/mmcblk0
устройство после загрузки с флешки? Чтоfdisk -l /dev/mmcblk0
говорит?2) В / dev / mmcblk0p1 нет файловой системы, сначала нужно создать файловую систему (
mkfs ...
). Проверить сfile -s /dev/mmcblk0p1
3) Файловая система в / dev / mmcblk0p1 повреждена, необходимо проверить / исправить ее, попробовать
fsck /dev/mmcblk0p1
или создать новую.4) Ваше ядро (при загрузке с флешки) не имеет необходимых драйверов файловой системы, проверить
cat /proc/filesystems
иls "/lib/modules/$(uname -r)/kernel/fs/"
увидеть , если этот список содержит необходимый тип файловой системы. Как правило, старые ядра не поддерживают ext4, в то время как ваша ОС может уже иметь инструменты для создания файловой системы ext4.5) Аппаратный дефект - это может быть SD-карта, контроллер, проводка ... но если он работает при загрузке с SD-карты, то, скорее всего, это не так.
источник
/proc/filesystems
являются только теми, которые скомпилированы в ядро. Например, my/proc/filesystems
не содержитvfat
, но я все еще могу смонтироватьvfat
систему, поскольку она доступна в виде модуля.util-linux
Монтирования пытается определить файловую систему с помощьюblkid
затем пытается все в/etc/filesystems
или/proc/filesystem
. Я думаю, что этоbusybox
крепление, так что, вероятно, делает меньше. Либо, скорее всего, не хватит специализированной флеш-файловой системы.Сначала проверьте файловые системы, поддерживаемые в ядре.
Я предполагаю, что вы пытаетесь смонтировать ту же SD-карту, с которой вы используете Linux. Если это так, я полагаю, вполне разумно, что он имеет встроенную поддержку файловой системы в Linux. Чтобы убедиться, что вы загрузили драйвер SD-карты, вы можете попробовать,
Теперь попробуйте доступ для чтения к разделам:
В качестве альтернативы:
fdisk
также расскажет вам о типах разделов.Это гарантирует, что драйвер SD-карты может получить доступ к блочному устройству. Теперь вы можете запустить
parted
печать файловых систем:Как только вы знаете FS, установите его с
источник
parted
пытается определить тип файловой системы. Комментарий удален.Кажется, я помню, что это ошибка, которую вы получаете, когда тип раздела, который вы пытаетесь смонтировать, не поддерживается.
источник
blkid
, если нет, и это более обычная среда Linux,lsblk
вероятно, предпочтительнее.Может быть, вам нужно использовать (команда parted) из-за размера раздела:
Чтобы убедиться, что раздел создан правильно, используйте
/sbin/parted /dev/mmcblk0p1 print”
Затем вы должны отформатировать созданный раздел
источник
parted
on/dev/mmcblk0p1
создаст таблицу разделов на разделе устройства, которое уже было разделено. Кроме того, следуя этим инструкциям, вы удалите все данные на устройстве .