Перейти к содержанию
    

Xilinx linux на zedboard: проблемы с монтированием SD карточки

Здравствуйте!

Хочу научиться запускать скрипт после перезагрузки zedboard. Для этого хочу, чтобы при загрузке SD-карточка монтировалась в ~/mnt/. Образ файловой системы, как и линукс, были скачаны с wiki и git xilinx'a.

Но в логах:

...

RAMDISK: gzip image found at block 0

mmc0: new high speed SDHC card at address 0007

mmcblk0: mmc0:0007 SD04G 3.71 GiB

mmcblk0: p1 p2

EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities

EXT4-fs warning (device ram0): ext4_update_dynamic_rev:749: updating to rev 1 because of new feature flag, running e2fsck is recommended

EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)

VFS: Mounted root (ext4 filesystem) on device 1:0.

Starting rcS...

++ Mounting filesystem

mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory

mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory

...

Как исправить ошибку?

Изменено пользователем sheynmanyu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как исправить ошибку?

начните с простейшего - от рута проверьте что каталог существует, например

touch /mnt

далее от того же рута вручную попробуйте смонтировать раздел карты, например

mount /dev/mmcblk0p1 /mnt

или второй раздел

mount /dev/mmcblk0p2 /mnt

если до сюда дошли без ошибок, то двинемся дальше.. если есть ошибки, то выкладываете краткий лог и команды, приводящие к ошибкам..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начните с простейшего...

Нет, с простейшего - это google 'mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory' и посмотреть первую же ссылку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, с простейшего - это google 'mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory' и посмотреть первую же ссылку.

Смотрела. Еще до того, как написала на форум. Не помогло. Я не знаю, где необходимо прописать devtmpfs.mount=1

Вручную все монтируетмя на ура. Но мне нужно, чтобы автоматически.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотрела. Еще до того, как написала на форум. Не помогло. Я не знаю, где необходимо прописать devtmpfs.mount=1

Вручную все монтируетмя на ура. Но мне нужно, чтобы автоматически.

Там же английским по белому написано:

When I ran into this problem, adding:

 

devtmpfs.mount=1

 

to the bootargs in the devicetree seemed to fix it for me.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там же английским по белому написано:

Я добавляла эту строчку в bootargs. Не помогло. Может, я еще что-то не добавила...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я добавляла эту строчку в bootargs. Не помогло. Может, я еще что-то не добавила...

тогда после загрузки проверьте, что вы правильно написали и ядру пришел этот параметр

cat /proc/cmdline

и заодно проверьте, что tmpfs включено в ядре:

root@holapc:~# zcat /proc/config.gz |grep TMPFS
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_TMPFS_XATTR is not set

Изменено пользователем Jury093

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

далее от того же рута вручную попробуйте смонтировать раздел карты, например

mount /dev/mmcblk0p1 /mnt

если до сюда дошли без ошибок, то двинемся дальше.. если есть ошибки, то выкладываете краткий лог и команды, приводящие к ошибкам..

Ругается на то, что карточка ранее не была правильно отмонтирована, но все монтирует.

 

тогда после загрузки проверьте, что вы правильно написали и ядру пришел этот параметр

cat /proc/cmdline

возвращает earlycon

и заодно проверьте, что tmpfs включено в ядре:

root@holapc:~# zcat /proc/config.gz |grep TMPFS
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_TMPFS_XATTR is not set

Да, все так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ругается на то, что карточка ранее не была правильно отмонтирована, но все монтирует.

т.е. тут все исправно, добавьте в /etc/fstab

/dev/mmcblk0p1 /mnt   ext4    rw      0       0

если не смонтирует, то смените на ext3 или на тип ФС, на которую размечен раздел p1

 

возвращает earlycon

как-то маловато, должно быть приблизительно похоже:

root@holapc:~# cat /proc/cmdline
console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,SK-ATM0704,if=RGB16 consoleblank=0

но с вашими именами и настройками..

Изменено пользователем Jury093

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как-то маловато, должно быть приблизительно похоже:

root@holapc:~# cat /proc/cmdline
console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,SK-ATM0704,if=RGB16 consoleblank=0

но с вашими именами и настройками..

Ух ты! Спасибо! Добавила в system-top.dts:

chosen {
        bootargs = "earlycon root=/dev/ram rw devtmpfs.mount=1";
        stdout-path = "serial0:115200n8";
    };

Было (файл автоматически генерировался в Xilinx SDK):

chosen {
        bootargs = "earlycon";
        stdout-path = "serial0:115200n8";
    };

И все заработало!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как-то маловато, должно быть приблизительно похоже:

root@holapc:~# cat /proc/cmdline
console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,SK-ATM0704,if=RGB16 consoleblank=0

но с вашими именами и настройками..

 

Не понимаю, почему не работает с root=/dev/mmcblk0p1 rootwait, но работает с root=/dev/ram...

Изменено пользователем sheynmanyu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понимаю, почему не работает с root=/dev/mmcblk0p1 rootwait, но работает с root=/dev/ram...

а что именно не работает? и что лежит на разделе p1?

попробуйте загрузится, из лога скопировать с момента детектирования карточки и сюда через codebox выложить..

 

update вот такое прописать попробуйте в dts, возможно так требуется современным ядрам..

bootargs = "earlycon root=/dev/mmcblk0p1 rootfstype=ext4 rw rootwait";

Изменено пользователем Jury093

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что именно не работает? и что лежит на разделе p1?

попробуйте загрузится, из лога скопировать с момента детектирования карточки и сюда через codebox выложить..

У меня карточка разбита на 2 раздела: р1 - системный, р2 - пользовательский.

В случае /dev/ram внутри bootargs системный раздел нормально монтируется в /mnt:

Мой код в devicetree:

chosen {
        bootargs = "earlycon root=/dev/ram rw devtmpfs.mount=1";
        stdout-path = "serial0:115200n8";
    };

Лог при загрузке:

RAMDISK: gzip image found at block 0
EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs warning (device ram0): ext4_update_dynamic_rev:749: updating to rev 1 because of new feature flag, running e2fsck is recommended
EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 1:0.
devtmpfs: mounted
Freeing unused kernel memory: 1024K (c0900000 - c0a00000)
Starting rcS...
++ Mounting filesystem
FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
++ Setting up mdev
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting ssh daemon
random: sshd: uninitialized urandom read (32 bytes read)
++ Running user script init.sh from SD Card
Hello my dear striped caterpillar!

 

В случае /dev/mmcblk0p1 выдается ошибка No such file or directory. Выдает то же самое, о чем я писала в самом первом сообщении в этой теме. Естественно, монтирования не происходит и init.sh не запускается:

Мой код:

chosen {
        bootargs = "earlycon root=/dev/mmcblk0p1 rootwait rw devtmpfs.mount=1";
        stdout-path = "serial0:115200n8";
    };

Лог:

RAMDISK: gzip image found at block 0
mmc0: new high speed SDHC card at address 0007
mmcblk0: mmc0:0007 SD04G 3.71 GiB
mmcblk0: p1 p2
EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs warning (device ram0): ext4_update_dynamic_rev:749: updating to rev 1 because of new feature flag, running e2fsck is recommended
EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 1:0.
Starting rcS...
++ Mounting filesystem
mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory
mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory
++ Setting up mdev
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting ssh daemon
random: sshd: uninitialized urandom read (32 bytes read)
rcS Complete

Тут появился еще один вопрос: как подключить модуль python, чтобы линукс на zynq мог бы интерпретировать *.py скрипты? Не устанавливая Petalinux... Все исходники брала с xilinx git (xilinx linux).

Изменено пользователем sheynmanyu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

вот тут что-то не так - система считает что p1 это fat?

а что у вас (в рутовой конечно) прописано в /etc/fstab - может оттуда ерунда идет..

 

bootargs = "earlycon root=/dev/mmcblk0p1 rootwait rw devtmpfs.mount=1";

попробуйте, чисто для теста, загрузится в однопользовательском режиме, должны увидеть приглашение логи после:

bootargs = "earlycon noinitrd init=/bin/sh rootwait rw devtmpfs.mount=1";

 

если не загрузится, то похоже проблемы в рутовой или в ФС на этом разделе..

 

Тут появился еще один вопрос: как подключить модуль python, чтобы линукс на zynq мог бы интерпретировать *.py скрипты? Не устанавливая Petalinux... Все исходники брала с xilinx git (xilinx linux).

тут я пас, в нормальном Дебьян для мелких это делается примерно apt-get install python, а как в вашем дистрибутиве я не знаю..

как вариант погуглить "zynq python" и подобные запросы..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот тут что-то не так - система считает что p1 это fat?

а что у вас (в рутовой конечно) прописано в /etc/fstab - может оттуда ерунда идет..

У меня vfat для p1, так как я собирала все под виртуальной машиной, а на флешку копировала из-под windows. Странный способ, но вначале мне так оказалось проще. :laughing:

И я ее и вправду не отмонтировала перед очередной перезагрузкой. Так что с эттой ошибкой мне все более-менее понятно, а вот со сборками и дистрибутивами... Но это уже другая история. Спасибо огромное!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...