|
Xilinx linux на zedboard: проблемы с монтированием SD карточки |
|
|
|
Aug 14 2017, 15:16
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Здравствуйте! Хочу научиться запускать скрипт после перезагрузки 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 - Aug 14 2017, 15:18
|
|
|
|
|
Aug 14 2017, 21:51
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ Aug 14 2017, 18:16)  Как исправить ошибку? начните с простейшего - от рута проверьте что каталог существует, например Код touch /mnt далее от того же рута вручную попробуйте смонтировать раздел карты, например Код mount /dev/mmcblk0p1 /mnt или второй раздел Код mount /dev/mmcblk0p2 /mnt если до сюда дошли без ошибок, то двинемся дальше.. если есть ошибки, то выкладываете краткий лог и команды, приводящие к ошибкам..
|
|
|
|
|
Aug 14 2017, 22:20
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(aaarrr @ Aug 15 2017, 01:04)  Нет, с простейшего - это google 'mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory' и посмотреть первую же ссылку. Смотрела. Еще до того, как написала на форум. Не помогло. Я не знаю, где необходимо прописать devtmpfs.mount=1 Вручную все монтируетмя на ура. Но мне нужно, чтобы автоматически.
|
|
|
|
|
Aug 15 2017, 04:43
|
Знающий
   
Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394

|
Цитата(sheynmanyu @ Aug 15 2017, 01:20)  Смотрела. Еще до того, как написала на форум. Не помогло. Я не знаю, где необходимо прописать 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.
|
|
|
|
|
Aug 15 2017, 07:32
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(faa @ Aug 15 2017, 07:43)  Там же английским по белому написано: Я добавляла эту строчку в bootargs. Не помогло. Может, я еще что-то не добавила...
|
|
|
|
|
Aug 15 2017, 07:50
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ Aug 15 2017, 10:32)  Я добавляла эту строчку в 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 - Aug 15 2017, 07:53
|
|
|
|
|
Aug 15 2017, 08:04
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(Jury093 @ Aug 15 2017, 00:51)  далее от того же рута вручную попробуйте смонтировать раздел карты, например Код mount /dev/mmcblk0p1 /mnt если до сюда дошли без ошибок, то двинемся дальше.. если есть ошибки, то выкладываете краткий лог и команды, приводящие к ошибкам.. Ругается на то, что карточка ранее не была правильно отмонтирована, но все монтирует. Цитата(Jury093 @ Aug 15 2017, 10:50)  тогда после загрузки проверьте, что вы правильно написали и ядру пришел этот параметр Код 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 Да, все так.
|
|
|
|
|
Aug 15 2017, 08:16
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ Aug 15 2017, 11:04)  Ругается на то, что карточка ранее не была правильно отмонтирована, но все монтирует. т.е. тут все исправно, добавьте в /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 - Aug 15 2017, 08:17
|
|
|
|
|
Aug 15 2017, 08:49
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(Jury093 @ Aug 15 2017, 11:16)  как-то маловато, должно быть приблизительно похоже: Код 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"; }; И все заработало!
|
|
|
|
|
Aug 15 2017, 10:52
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(Jury093 @ Aug 15 2017, 11:16)  как-то маловато, должно быть приблизительно похоже: Код 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 - Aug 15 2017, 13:43
|
|
|
|
|
Aug 15 2017, 14:36
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ Aug 15 2017, 13:52)  Не понимаю, почему не работает с root=/dev/mmcblk0p1 rootwait, но работает с root=/dev/ram... а что именно не работает? и что лежит на разделе p1? попробуйте загрузится, из лога скопировать с момента детектирования карточки и сюда через codebox выложить.. update вот такое прописать попробуйте в dts, возможно так требуется современным ядрам.. Код bootargs = "earlycon root=/dev/mmcblk0p1 rootfstype=ext4 rw rootwait";
Сообщение отредактировал Jury093 - Aug 15 2017, 15:14
|
|
|
|
|
Aug 15 2017, 15:28
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(Jury093 @ Aug 15 2017, 17:36)  а что именно не работает? и что лежит на разделе 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 - Aug 15 2017, 16:25
|
|
|
|
|
Aug 15 2017, 17:13
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ Aug 15 2017, 18:28)  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" и подобные запросы..
|
|
|
|
|
Aug 15 2017, 19:49
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(Jury093 @ Aug 15 2017, 20:13)  вот тут что-то не так - система считает что p1 это fat? а что у вас (в рутовой конечно) прописано в /etc/fstab - может оттуда ерунда идет.. У меня vfat для p1, так как я собирала все под виртуальной машиной, а на флешку копировала из-под windows. Странный способ, но вначале мне так оказалось проще. И я ее и вправду не отмонтировала перед очередной перезагрузкой. Так что с эттой ошибкой мне все более-менее понятно, а вот со сборками и дистрибутивами... Но это уже другая история. Спасибо огромное!
|
|
|
|
|
Aug 15 2017, 20:47
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ Aug 15 2017, 22:49)  У меня vfat для p1, так как я собирала все под виртуальной машиной, а на флешку копировала из-под windows. Странный способ, но вначале мне так оказалось проще. И я ее и вправду не отмонтировала перед очередной перезагрузкой. Так что с эттой ошибкой мне все более-менее понятно, а вот со сборками и дистрибутивами... Но это уже другая история. Спасибо огромное! а вот оно как.. так оно по идее вообще не должно работать.. аттрибуты на запуск, права пользователй.. ну прикола ради развернуть на fat рутовую можно.. но работать не должно.. у вас же виртуалка есть - карточку в usb ридер, втыкаете в порт хостовой машины (вероятно винда), потом в виртуалке переключаете ридер на работу под виртуалкой - в этот момент винда теряет накопитель и он появляется в линуксе под виртуалкой скорее всего как /dev/sdb там же под виртуалкой нарезаете разделы и форматируете в ext3/ext4 куда и разворачиваете свой архив с рутовой, туда же кладете ядро и что там еще нужно для загрузки.. но это будет уже другая история в другой теме.. успехов!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|