|
DE10-Nano + bitbake + de10-nano-hardware, Сборка FPGA проекта для платы DE10-Nano c помощью bitbake |
|
|
|
Sep 28 2017, 21:28
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Приветствую уважаемые. Есть плата DE10-Nano + сборка Linux Xfce Desktop. Чтобы собрать дистрибутив Linux запустил вот этот сценарий: https://github.com/01org/meta-de10-nanoОставил его на ночь, долгий процесс, думал, что на выходе будет образ SD карты с Linux и RootFS ... пришел утром - это провал, возникла вот такая ошибка Код | loading cache ./config.cache | checking host system type... i686-pc-linux-gnu | checking target system type... arm-angstrom-linux-gnueabi | checking build system type... i686-pc-linux-gnu | checking for gawk... gawk | checking for perl5... no | checking for perl... /home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/i686-linux/usr/bin/perl-native/perl | cross compiling from i686-pc-linux-gnu to arm-angstrom-linux-gnueabi | checking for host c compiler... checking for gcc... gcc | gcc | checking for host c++ compiler... checking for c++... c++ | c++ | checking for ranlib... no | checking for ar... no | checking whether the host c compiler (gcc -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/work/armv7ahf-neon-angstrom-linux-gnueabi/mozjs/17.0.0-r0=/usr/src/debug/mozjs/17.0.0-r0 -fdebug-prefix-map=/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/i686-linux= -fdebug-prefix-map=/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/de10-nano= -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now) works... configure: error: installation or configuration problem: host compiler gcc cannot create executables. | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_configure (log file is located at /home/vasya/de10-nano-build/build/tmp-angstrom-glibc/work/armv7ahf-neon-angstrom-linux-gnueabi/mozjs/17.0.0-r0/temp/log.do_configure.23767) ERROR: Task (/home/vasya/de10-nano-build/layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb:do_configure) failed with exit code '1' Пытаюсь разобраться, пока безуспешно, SOS Еще есть вот такой сценарий для создание проекта FPGA: https://github.com/01org/de10-nano-hardwareОн мне нужен, так как я хочу внести непоправимые улучшения в FPGA аппаратуру. в REDME написано, что этот сценарий нужно использовать совместно с meta-de10-nano. Подскажите пожалуйста, как его правильно использовать, куда тут лошадь запрягать?
Сообщение отредактировал Gleb80 - Sep 29 2017, 10:49
|
|
|
|
|
Sep 29 2017, 17:17
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата(sonycman @ Sep 29 2017, 17:27)  Ну а если проверить, почему компилятор на хост машине даёт ошибку? Попробуйте скомпилировать любой исходник для хоста. сейчас остановился на том, что компилятор на хост-машине не понимает атрибут -fstack-protector-strong, который присутствует в команде, порождающей ошибку. у меня там Ubuntu 14.04 и компилятор gcc-4.8.4. Пока гипотеза такая - старый компилятор не поддерживает этот атрибут. Сделаю виртуальную машину с Ubuntu 16.04 и попробую на ней ... да, вот только что проверил на gcc-5, правда на 64 разрядной машине/операционке, и там такая опция компилятора присутствует
Сообщение отредактировал Gleb80 - Sep 29 2017, 18:09
|
|
|
|
|
Oct 2 2017, 09:04
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата(Gleb80 @ Sep 29 2017, 20:17)  ...компилятор на хост-машине не понимает атрибут -fstack-protector-strong... cделаю виртуальную машину с Ubuntu 16.04 и попробую на ней ... да, вот только что проверил на gcc-5, правда на 64 разрядной машине/операционке, и там такая опция компилятора присутствует На виртуальнй машине эта стадия прошла нормально, но скорость исполнения последующих задач экспоненциально падала. Оставил машину включенной на выходные, но по возвращении с фазенды нашел ее практически повисшей но так и не дособравшей требуемый дистрибутив. Поставил Ubuntu 16.04 непосредственно на PC, запустил по-новой. Процесс побежал весьма шустро, поглядим через пару часов...
Сообщение отредактировал Gleb80 - Oct 2 2017, 09:05
|
|
|
|
|
Oct 3 2017, 08:52
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата(Gleb80 @ Oct 2 2017, 12:04)  ... поставил Ubuntu 16.04 непосредственно на PC, запустил по-новой. Процесс побежал весьма шустро, поглядим через пару часов... Пришлось оставить на ночь, прийдя утром, увидел такую ошибку: Код gcc -isystem/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/include -O2 -pipe -L/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/lib -L/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/x86_64-linux/lib -Wl,-rpath-link,/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/x86_64-linux/lib -Wl,-rpath,/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/home/vasya/de10-nano-build/build/tmp-angstrom-glibc/sysroots/x86_64-linux/lib -Wl,-O1 -o tools/fdtgrep tools/lib/libfdt/fdt.o tools/lib/libfdt/fdt_ro.o tools/lib/libfdt/fdt_rw.o tools/lib/libfdt/fdt_strerror.o tools/lib/libfdt/fdt_wip.o tools/lib/libfdt/fdt_region.o tools/lib/libfdt/fdt_sw.o tools/fdtgrep.o | tools/libfdt_wrap.c:147:21: fatal error: Python.h: No such file or directory | compilation terminated. | error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 | /home/vasya/de10-nano-build/build/tmp-angstrom-glibc/work/de10_nano-angstrom-linux-gnueabi/u-boot-socfpga/v2017.03+gitAUTOINC+d03450606b-r0/git/tools/Makefile:123: recipe for target 'tools/_libfdt.so' failed | make[2]: *** [tools/_libfdt.so] Error 1 | ERROR: oe_runmake failed Не найден файл Python.h, вероятно, отсутствует какая-то библиотека, буду разбираться.
|
|
|
|
|
Oct 3 2017, 09:35
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата(sonycman @ Oct 3 2017, 12:29)  Попробуйте выполнить на хосте: Код $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping Required Packages for the Host Development SystemВот спасибо. Как раз подобный перечень я сейчас и искал.
|
|
|
|
|
Oct 3 2017, 10:52
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
И снова провал, теперь вот такой: Код ERROR: cross compiler tools are not visible in the environment. Опять на хватает чего-то важного и нужого. Похоже, прийдется погружаться в документацию Yocto...
Сообщение отредактировал Gleb80 - Oct 3 2017, 11:15
|
|
|
|
|
Oct 4 2017, 20:58
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата(Gleb80 @ Oct 3 2017, 13:52)  ...oпять на хватает чего-то важного и нужого. Похоже, прийдется погружаться в документацию Yocto... ага, вот что я пропустил, оказывается, добавлять слой метаданных нужно в рабочую директорию Yocto, т.е. сначала Код git clone git://git.yoctoproject.org/poky cd poky ./oe-init-build-env а потом уже, в папке poky, выполнять действия по инструкции -> https://github.com/01org/meta-de10-nanoКод mkdir de10-nano-build cd de10-nano-build repo init -u git://github.com/Angstrom-distribution/angstrom-manifest -b angstrom-v2016.12-yocto2.2 ... MACHINE=de10-nano . ./setup-environment bitbake de10-nano-image кто бы мог подумать  снова запускаю этот затяжной процесс, посмотрим, чем закончится на этот раз...
|
|
|
|
|
Oct 5 2017, 18:51
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата(Gleb80 @ Oct 4 2017, 23:58)  ага, вот что я пропустил, оказывается, добавлять слой метаданных нужно в рабочую директорию Yocto... нет, ошибочка, репозиторий meta-de10-nano уже все в себе содержит (что не удивительно при размере 50ГБ) Ситуация не изменилась, похоже, где-то в рецептах жестко задан абсолютный путь к тулчейну, попробую найти...
|
|
|
|
|
Oct 6 2017, 10:24
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Можно отбросить Yocto и попробовать Buildroot. Я делал сборку по этому гайду. Плата тоже DE10-Nano. Проблем особых не было.
|
|
|
|
|
Oct 6 2017, 21:20
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата(sonycman @ Oct 6 2017, 13:24)  Можно отбросить Yocto и попробовать Buildroot. Везде пишут, что Yocto это модно  А если серьезно, то во-первых жалко уже потраченых усилий, а во-вторых, дистрибутив, собираемый с помощью слоя meta-de10-nano содержит все что мне в настоящий момент от этой платы нужно. Было бы здорово все-таки это заклинание освоить. Однако, если в течении 2 недель не смогу достигнуть поставленной цели, то попробую пойти вашим путем.
Сообщение отредактировал Gleb80 - Oct 6 2017, 21:21
|
|
|
|
|
Oct 7 2017, 18:20
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Код ERROR: cross compiler tools are not visible in the environment. Эту напасть поборол - оказалось, что в некоторых скриптах имеется вот такой кусок кода: Код CC_TEST="${CC:?}" type -t ${CC%${CC#*gcc}} > /dev/null 2>&1 || { echo "" echo "ERROR: cross compiler tools are not visible in the environment." echo "" exit 1 } насколько я понял, это проверка правильности содержащегося в переменной СС названия кросс-компилятора. В некоторых скриптах она проходила успешно, а когда из них вызывался другой скрипт, в котором тоже был такой код, проверка не проходила и все завершалось ошибкой. Помог чит-код, я закоментил строку exit 1 и этот рецепт был выпечен успешно. Но дальше меня снова ждало разочарование. Покомпилировав еще какое-то время вдруг потух экран, появилась консоль как при обычной загрузке и ОС (Ubuntu 16.04 64 бит) загрузилась как ни в чем не бывало, как будто после включения питания. Эта ситуация повторялась при повторных попытках запуска. Покопавшись какое-то время я решил переустановить ОС и начать весь процесс сборки с самого начала. Но и это мне не удалось. При попытке скачать репозиторий возникла ошибка: Код $ repo init -u git://github.com/Angstrom-distribution/angstrom-manifest -b angstrom-v2016.12-yocto2.2 .... $ repo sync .... fatal: Couldn't find remote ref refs/heads/master хотя раньше все качалось нормально. Тут я застрял...
|
|
|
|
|
Oct 9 2017, 14:36
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470

|
Цитата Код $ repo init -u git://github.com/Angstrom-distribution/angstrom-manifest -b angstrom-v2016.12-yocto2.2 .... $ repo sync .... fatal: Couldn't find remote ref refs/heads/master Нашел путь обхода. Не хотел скачиваться репозиторий linux4sam/meta-atmel. Зашел в папку layers и выполнил git clone https://github.com/linux4sam/meta-atmel.gitЦитата ...вдруг потух экран, появилась консоль как при обычной загрузке и ОС (Ubuntu 16.04 64 бит) загрузилась как ни в чем не бывало, как будто после включения питания. Эта ситуация повторялась при повторных попытках запуска. Кажется, нашел причину - это происходит при попытке ОС заблокировать экран после длительного бездействия пользователя. Пришлось установить максимальное время ожидания перехода в сон и регулярно "помешивать"  т.е. шевелить мышкой. Вроде помогло. По крайней мере, сейчас выполнено 99% процентов общего числа задач, осталась только одна, оооочень большая, компиляция какого-то webkitgtk...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|