День добрый! Передо мной встала задача по сборке встраиваемого линукс, на него необходимо в последствии партировать 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>
Но ошибка осталась, я перезадал необходимые репозитории, но похоже что обновление произошло не во всем что касается библиотек (libc6-dev*) которых у меня небыло. Прошу скинуть репозитории благодаря которым возможно будет эти хедеры обновить.
Мне необходимо собрать драйвер моксы для целевой платформы, я не знаю как это сделать без хедеров и тулчейна на целевой системе, т.к. должна быть установка этого *.ko файла в директорий с остальными драйверами, его в этих сборках я впомини не нашел. После того как я пытался собрать драйвер кросс компилятором на хосте, чтобы подкинуть его на целевую машину, он собрался с ошибками.
Спасибо за ответ, не пришлось в деревол сборки драйвер добавлять, но интересная деталь.
Последовательность моих действий:
- 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.
Но, я получил новый подарок, связанной с подкачкой ядра:
ядро лежит локально в каталоге 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/
как туда добавить файлы для корректной задачи работы драйвера
собрать бинарники драйвера не проблема, а вот как его корректно запускать потом - не знаю, надо разбираться. У них там по идиотски сделано, вместо скрипта на bash сишный бинарник компилируется и он не знает ничего про busybox init, он только основные дистры распознает и генерирует для них скрипт инициализации
как туда добавить файлы для корректной задачи работы драйвера
собрать бинарники драйвера не проблема, а вот как его корректно запускать потом - не знаю, надо разбираться. У них там по идиотски сделано, вместо скрипта на bash сишный бинарник компилируется и он не знает ничего про busybox init, он только основные дистры распознает и генерирует для них скрипт инициализации
Но ведь можно эти исполняемые файлы включить в сборку в userspace, а потом на встраиваемой платформе запустить, пока вручную, а за тем с помощью shell скрипта?
Но ведь можно эти исполняемые файлы включить в сборку в userspace, а потом на встраиваемой платформе запустить, пока вручную, а за тем с помощью shell скрипта?
вот обновленный патч для вашего драйвера - попробуйте
инструкция как пропатчить и собрать внвлогична как и для предыдущего патча, утилиты от драйвера там же куда их копирует оригинальный установщик от драйвера