Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:3
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Embedded Linux
Сборка embeded Linux с buildroot (адаптивно с собственными пакетами)
yurySoft
Добавлено 01.07.2019 15:42
0
Сообщение: 1
yurySoft
4

Пункты: 814
Регистрация: 01.07.2019
День добрый! Передо мной встала задача по сборке встраиваемого линукс, на него необходимо в последствии партировать mono, а так же поставить драйвер для moxa. Я использовал дефолтный buildroot-2017.08-sk в imxx6sk_qt5gst_defconfig конфигурации, плата SK-iMX6D-SODIMM, линукс ядро версии 4.1.15, по дефолту компилятор linaro. В конфигурации (make menuconfig) описано, что происходит добавка тулчейна и хедеров ядра. Но когда я собрал его и зашил в плату, то хедеров ядра, и самого тулчейна, не оказалось. Прошу показать, как в вашем продукте их добавить в конфигурацию. (Ибо глазами посмотрел и они были выставлены для добавления в сборку) После небольшой реконфигурации файла( imxx6sk_qt5gst_defconfig) и добавки новых опций, на этапе компиляции я получил :
include/unicode.h:10:21: fatal error: wctype.h: No such file or directory
# include <wctype.h>

Посмотрел решение на Вашем форуме, к сожалению мне не помогло, я обновил хедеры как говорилось здесь:
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=25861&num=7

Но ошибка осталась, я перезадал необходимые репозитории, но похоже что обновление произошло не во всем что касается библиотек (libc6-dev*) которых у меня небыло. Прошу скинуть репозитории благодаря которым возможно будет эти хедеры обновить.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 01.07.2019 18:08 Редактировалось 01.07.2019 18:08 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

В конфигурации (make menuconfig) описано, что происходит добавка тулчейна и хедеров ядра. Но когда я собрал его и зашил в плату, то хедеров ядра, и самого тулчейна, не оказалось.


на плату это не копируется, для целевой платформы компилятор не собирается, для сборки используется кросскомпилятор на хост-системе.
Спуститься к концу Подняться к началу
Персональная информация
yurySoft
Добавлено 02.07.2019 16:09 Сообщение: 3
yurySoft
4

Пункты: 814
Регистрация: 01.07.2019
Цитата
Цитата

В конфигурации (make menuconfig) описано, что происходит добавка тулчейна и хедеров ядра. Но когда я собрал его и зашил в плату, то хедеров ядра, и самого тулчейна, не оказалось.


на плату это не копируется, для целевой платформы компилятор не собирается, для сборки используется кросскомпилятор на хост-системе.


Мне необходимо собрать драйвер моксы для целевой платформы, я не знаю как это сделать без хедеров и тулчейна на целевой системе, т.к. должна быть установка этого *.ko файла в директорий с остальными драйверами, его в этих сборках я впомини не нашел. После того как я пытался собрать драйвер кросс компилятором на хосте, чтобы подкинуть его на целевую машину, он собрался с ошибками.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 03.07.2019 01:54 Сообщение: 4
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
[quote]
Мне необходимо собрать драйвер моксы для целевой платформы, я не знаю как это сделать без хедеров и тулчейна на целевой системе/quote]

Написать правила для сборки в buildroot. Тут патч для какой-то мохи для примера

https://yadi.sk/d/d0H5Ucwb0a4_cQ

не могу найти на форуме тему - похоже удалили её

1) Скопируйте патч

https://yadi.sk/d/d0H5Ucwb0a4_cQ

в директорию buildroot

2) наложите патч находясь в корне buildroot

patch -p1 < ./buildroot-2017.08-sk-moxa.patch

3) включите модуль в сборку

make menuconfig
Target packages --->
Hardware handling --->
Freescale i.MX libraries --->
[*] moxa

4) соберите

make
Спуститься к концу Подняться к началу
Персональная информация
yurySoft
Добавлено 03.07.2019 16:20 Сообщение: 5
yurySoft
4

Пункты: 814
Регистрация: 01.07.2019
Цитата
[quote]
Мне необходимо собрать драйвер моксы для целевой платформы, я не знаю как это сделать без хедеров и тулчейна на целевой системе/quote]

Написать правила для сборки в buildroot. Тут патч для какой-то мохи для примера

https://yadi.sk/d/d0H5Ucwb0a4_cQ

не могу найти на форуме тему - похоже удалили её

1) Скопируйте патч

https://yadi.sk/d/d0H5Ucwb0a4_cQ

в директорию buildroot

2) наложите патч находясь в корне buildroot

patch -p1 < ./buildroot-2017.08-sk-moxa.patch

3) включите модуль в сборку

make menuconfig
Target packages --->
Hardware handling --->
Freescale i.MX libraries --->
[*] moxa

4) соберите

make


Спасибо за ответ, не пришлось в деревол сборки драйвер добавлять, но интересная деталь.
Последовательность моих действий:
- make imx6sk_min_defconfig
- patch -p1 < ./buildroot-2017.08-sk-moxa.patch
- конфигурация, как описано выше + то что в мануале,
для ребута.

Но, я получил новый подарок, связанной с подкачкой ядра:

ost/share/man/man1'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
>>> linux custom Downloading
--2019-07-03 15:08:47-- http://./linux_imx_4.1.15_2.1.0_ga-sk.tar.bz2
Resolving . (.)... failed: No address associated with hostname.
wget: unable to resolve host address ‘.’
--2019-07-03 15:08:47-- http://sources.buildroot.net/linux_imx_4.1.15_2.1.0_ga-sk.tar.bz2
Resolving sources.buildroot.net (sources.buildroot.net)... 104.25.211.19, 104.25.210.19, 2606:4700:20::6819:d213, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|104.25.211.19|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-07-03 15:08:48 ERROR 404: Not Found.

package/pkg-generic.mk:139: recipe for target '/home/user/src/buildroot-2017.08-sk/output/build/linux-custom/.stamp_downloaded' failed
make[1]: *** [/home/user/src/buildroot-2017.08-sk/output/build/linux-custom/.stamp_downloaded] Error 1
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 03.07.2019 17:43 Редактировалось 03.07.2019 17:43 Сообщение: 6
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
Но, я получил новый подарок, связанной с подкачкой ядра:


ядро лежит локально в каталоге downloads - скопируйте в dl, видимо вы сделали make mrproper и симлмнк dl -> downloads удалился.
Спуститься к концу Подняться к началу
Персональная информация
yurySoft
Добавлено 04.07.2019 14:26 Сообщение: 7
yurySoft
4

Пункты: 814
Регистрация: 01.07.2019
Цитата
Цитата
Но, я получил новый подарок, связанной с подкачкой ядра:


ядро лежит локально в каталоге downloads - скопируйте в dl, видимо вы сделали make mrproper и симлмнк dl -> downloads удалился.


Спасибо, я удалил старый билдрут и заново перераспаковал, все собралось, драйвер внутри я нашел. Но в директории external.

Хоетлось бы еще уточнитиь, тот драйвер который я использую, на хосте подгружает *.ko в другую директорию + скрипт внутри драйвера, (не мейк) генерирует еще несколько скриптов для корректной работы с этим драйвером, инструмент сборки его не подцепил, вопрос как туда добавить файлы для корректной задачи работы драйвера.

Исполняемые инструменты помещаются в директорию
Installation process is completed.
The all driver files are installed on /usr/lib/npreal2/driver.
Now you can cd /usr/lib/npreal2/driver and run ./mxaddsvr to add tty port.

а сам *ko файл в директорию
cp -p npreal2.ko /lib/modules/3.16.0-44-generic/kernel/drivers/char/

ССылка на драйвер:
https://www.moxa.com/en/products/industrial-edge-connectivity/serial-device-servers/general-device-servers/nport-5400-series#resources

там Real TTY drivers for Linux 3.x.x, 4.x.x

не могу понять как его запустить.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 05.07.2019 11:01 Редактировалось 05.07.2019 11:02 Сообщение: 8
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

как туда добавить файлы для корректной задачи работы драйвера


собрать бинарники драйвера не проблема, а вот как его корректно запускать потом - не знаю, надо разбираться. У них там по идиотски сделано, вместо скрипта на bash сишный бинарник компилируется и он не знает ничего про busybox init, он только основные дистры распознает и генерирует для них скрипт инициализации
Спуститься к концу Подняться к началу
Персональная информация
yurySoft
Добавлено 05.07.2019 11:42 Сообщение: 9
yurySoft
4

Пункты: 814
Регистрация: 01.07.2019
Цитата
Цитата

как туда добавить файлы для корректной задачи работы драйвера


собрать бинарники драйвера не проблема, а вот как его корректно запускать потом - не знаю, надо разбираться. У них там по идиотски сделано, вместо скрипта на bash сишный бинарник компилируется и он не знает ничего про busybox init, он только основные дистры распознает и генерирует для них скрипт инициализации


Но ведь можно эти исполняемые файлы включить в сборку в userspace, а потом на встраиваемой платформе запустить, пока вручную, а за тем с помощью shell скрипта?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 05.07.2019 15:08 Редактировалось 05.07.2019 15:13 Сообщение: 10
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Но ведь можно эти исполняемые файлы включить в сборку в userspace, а потом на встраиваемой платформе запустить, пока вручную, а за тем с помощью shell скрипта?


вот обновленный патч для вашего драйвера - попробуйте

https://yadi.sk/d/d0H5Ucwb0a4_cQ

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

/usr/lib/npreal2/driver

смотрите как что делать

/usr/lib/npreal2/README.TXT
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux