sheynmanyu 0 3 июля, 2018 Опубликовано 3 июля, 2018 (изменено) · Жалоба Здравствуйте! Есть плата Zedboard, для которой собран Petalinux 2018.1. Настройки сети, указанные при petalinux-config, почему-то не позволяют поднять сеть. Приходится вручную прописывать ifconfig eth0 down ifconfig eth0 inet ... up route add default gw ... после чего появляется соединение. Создала с помощью команды petalinux-create -t apps --template install -n myapp-init --enable приложение. Как в ug1144 написано, изменила myapp-init.bb файл, добавив в том числе inherit update-rc.d INITSCRIPT_NAME = "myapp-init" INITSCRIPT_PARAMS = "start 99 S ." Но приложение запускается сразу после монтирования SD карточки, и в результате я получаю сообщение, что IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready. Как изменить myapp-init.bb файл (может, что-то еще?), чтобы мой скрипт запускался, когда eth0 будет готов? 2. В PL части у меня есть 2 блока, с которыми планирую работать через драйвер uio. Они почти идентичные, только один работает на прием, а другой на передачу. Для них я создала udev правила KERNEL=="uio*", ATTRS{label}=="mm2s", SYMLINK+="mm2s", MODE="0666" KERNEL=="uio*", ATTRS{label}=="s2mm", SYMLINK+="s2mm", MODE="0666" Как мне добиться запуска этих правил при загрузке Petalinux? Просто копирование на SD карту в соответствующую папку не работает - надо править init скрипты. И как-то потом инициировать их запуск. Подскажите, пожалуйста! Изменено 3 июля, 2018 пользователем sheynmanyu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 3 июля, 2018 Опубликовано 3 июля, 2018 (изменено) · Жалоба C udev rule разобралась так: Создаем install прирложение с помощью команды petalinux-create -t apps --template install -n 95-local.rules --enable Правим файл 95-local.rules.bb S = "${WORKDIR}" FILESEXTRAPATHS_prepend := "${THISDIR}/files:" do_install() { install -d ${D}/${sysconfdir}/udev/rules.d install -m 0755 ${S}/95-local.rules ${D}/${sysconfdir}/udev/rules.d } FILES_${PN} += "${sysconfdir}/*" и сам файл скрипта 95-local.rules, записав в него желаемые udev rules. (Кстати, ATTRS{label} у него не существует. пришлось поменять.) После этого собираем петалинукс, например, с помощью petalinux-build -c rootfs & petalinux-build -x package. Копируем обновленные файлы на SD карту, загружаемся... И все работает. А вот с запуском myinit все еще зависаю. Как ему прописать, чтобы он запускался после появления надписи (в процессе загрузки) INIT: Entering runlevel: 5 Configuring network interfaces... udhcpc (v1.24.1) started Sending discover... Sending discover... macb e000b000.ethernet eth0: link up (1000/Full) Изменено 3 июля, 2018 пользователем sheynmanyu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 4 июля, 2018 Опубликовано 4 июля, 2018 · Жалоба По 1 вопросу: меняем файл myapp-init.bb INITSCRIPT_PARAMS = "start 87 5 ." После чего скрипт запустился тогда, когда это было нужно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться