Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
buildroot-2019.02 на базе ядра 4.14.78-1.0.0 для i.mx6 quad/dual/solo
Alex61RUS
Добавлено 25.05.2020 11:44 Сообщение: 31
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Приветствую всех!
При сборке для модуля iMX6SODIMM возникает такая ошибка:

Код

>>> weston 5.0.0 Building
PATH="/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/host/bin:/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/host/sbin:/home/user/bin:/home/user/bin:/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" /usr/bin/make -j3 WAYLAND_PROTOCOLS_DATADIR=/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/share/wayland-protocols -C /home/user/src/imx6sodimm-buildroot-2019.02-sk/output/build/weston-5.0.0/
/usr/bin/make all-am
CCLD weston-terminal
CCLD wcap-decode
CCLD weston-desktop-shell
wcap/wcap_decode-main.o: In function `write_png':
/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/build/weston-5.0.0/wcap/main.c:54: undefined reference to `cairo_surface_write_to_png'
collect2: error: ld returned 1 exit status
Makefile:4298: recipe for target 'wcap-decode' failed
make[3]: *** [wcap-decode] Error 1
make[3]: *** Waiting for unfinished jobs....
./.libs/libtoytoolkit.a(libshared_cairo_la-frame.o): In function `frame_button_create':
/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/build/weston-5.0.0/shared/frame.c:140: undefined reference to `cairo_image_surface_create_from_png'
collect2: error: ld returned 1 exit status
Makefile:4573: recipe for target 'weston-terminal' failed
make[3]: *** [weston-terminal] Error 1
clients/weston_desktop_shell-desktop-shell.o: In function `load_icon_or_fallback':
/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/build/weston-5.0.0/clients/desktop-shell.c:628: undefined reference to `cairo_image_surface_create_from_png'
./.libs/libtoytoolkit.a(libshared_cairo_la-frame.o): In function `frame_button_create':
/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/build/weston-5.0.0/shared/frame.c:140: undefined reference to `cairo_image_surface_create_from_png'
collect2: error: ld returned 1 exit status
Makefile:4347: recipe for target 'weston-desktop-shell' failed
make[3]: *** [weston-desktop-shell] Error 1
Makefile:3407: recipe for target 'all' failed
make[2]: *** [all] Error 2
package/pkg-generic.mk:238: recipe for target '/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/build/weston-5.0.0/.stamp_built' failed
make[1]: *** [/home/user/src/imx6sodimm-buildroot-2019.02-sk/output/build/weston-5.0.0/.stamp_built] Error 2
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2


При компиляции только под fb всё отлично. Никто с подобным не сталкивался?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 25.05.2020 15:29 Сообщение: 32
sasamy
4.71

Пункты: 81629
Регистрация: 14.08.2009
Цитата
us
Makefile:4347: recipe for target 'weston-desktop-shell' failed


собирать weston я не пробовал
Спуститься к концу Подняться к началу
Персональная информация
danilsl
Добавлено 01.07.2020 20:24 Сообщение: 33
danilsl
1

Пункты: 4201
Регистрация: 08.12.2010
Пол: Мужчина
Всем привет.
В ubuntu 20.04 + buildroot-2020.02.2 юбут не собирается. Почемуто include/version.h забирается какой угодно, только не тот ч в убуте лежит. Я патч сделал, может пригодится кому. И почему-то файлы не прикрепляются
Код
danil@ryzen:~/misc/boards/holaduo_ov7670/br_2020.02.2_dev$ cat boot/uboot/0000-genversion.patch
diff -urN uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/dumpimage.c uboot-imx_3.10.31_1.1.0_beta-sk/tools/dumpimage.c
--- uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/dumpimage.c 2014-08-05 05:30:22.000000000 +0400
+++ uboot-imx_3.10.31_1.1.0_beta-sk/tools/dumpimage.c 2020-07-01 18:49:25.226561405 +0300
@@ -8,7 +8,7 @@

#include "dumpimage.h"
#include <image.h>
-#include <version.h>
+#include <../include/version.h>

static void usage(void);

diff -urN uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/image-host.c uboot-imx_3.10.31_1.1.0_beta-sk/tools/image-host.c
--- uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/image-host.c 2014-08-05 05:30:22.000000000 +0400
+++ uboot-imx_3.10.31_1.1.0_beta-sk/tools/image-host.c 2020-07-01 18:50:34.642819325 +0300
@@ -11,7 +11,7 @@

#include "mkimage.h"
#include <image.h>
-#include <version.h>
+#include <../include/version.h>

/**
* fit_set_hash_value - set hash value in requested has node
diff -urN uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/mkenvimage.c uboot-imx_3.10.31_1.1.0_beta-sk/tools/mkenvimage.c
--- uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/mkenvimage.c 2014-08-05 05:30:22.000000000 +0400
+++ uboot-imx_3.10.31_1.1.0_beta-sk/tools/mkenvimage.c 2020-07-01 18:49:59.110688739 +0300
@@ -23,7 +23,7 @@

#include "compiler.h"
#include <u-boot/crc.h>
-#include <version.h>
+#include <../include/version.h>

#define CRC_SIZE sizeof(uint32_t)

diff -urN uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/mkimage.c uboot-imx_3.10.31_1.1.0_beta-sk/tools/mkimage.c
--- uboot-imx_3.10.31_1.1.0_beta-sk.orig/tools/mkimage.c 2014-08-05 05:30:22.000000000 +0400
+++ uboot-imx_3.10.31_1.1.0_beta-sk/tools/mkimage.c 2020-07-01 18:50:20.530767809 +0300
@@ -10,7 +10,7 @@

#include "mkimage.h"
#include <image.h>
-#include <version.h>
+#include <../include/version.h>

static void copy_file(int, const char *, int);
static void usage(void);
Спуститься к концу Подняться к началу
Персональная информация
ask2000
Добавлено 09.07.2020 12:51 Редактировалось 10.07.2020 16:55 Сообщение: 34
ask2000
0

Пункты: 2598
Регистрация: 10.08.2016
Коллеги, подскажите, как установить Ubuntu Desktop посвежее на плату SK-6Q ?
danilsl, где вы брали "ubuntu 20.04 + buildroot-2020.02.2" ?
Спуститься к концу Подняться к началу
Персональная информация
sumlin
Добавлено 08.11.2020 21:58 Редактировалось 09.11.2020 07:41 Сообщение: 35
sumlin
0

Пункты: 485
Регистрация: 24.06.2018
Я правильно понимаю, что без сборки на x64 архитектуре в качестве хостовой galcore работать нормально не будет? Я пробовал собрать buildroot-2019.02 на vm от buildroot-2017.08 - в /var/log/Xorg.0.log


[ 10.943] (II) VIVANTE(0): FB Start = 0x75d07000 FB Base = 0x75d07000 FB Offset = (nil)
[ 10.943] (II) VIVANTE(0): test Initializing EXA
[ 10.944] (EE) VIVANTE(0): internal error: GPU Ctx Init Failed
[ 10.944] (EE) VIVANTE(0): internal error: initExaLayer failed in VivScreenInit()
[ 10.944] (==) VIVANTE(0): Backing store enabled
[ 10.946] (==) VIVANTE(0): DPMS enabled
[ 10.946] (II) VIVANTE(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 11.134] (EE) VIVANTE(0): [dri] VivDRIScreenInit failed because Drm can't be opened.
[ 11.134] (--) RandR disabled
[ 11.164] (II) SELinux: Disabled on system
[ 11.168] (II) AIGLX: Screen 0 is not DRI2 capable
[ 11.168] (EE) AIGLX: reverting to software rendering


Это под Debian 9. Пробовал обновиться до Debian 10, пересобирал galcore прям на iMX6, vivante_drv.so тоже на нём - всё равно (как текущие, так и самые на текущий момент свежие)
[ 10.944] (EE) VIVANTE(0): internal error: GPU Ctx Init Failed
[ 10.944] (EE) VIVANTE(0): internal error: initExaLayer failed in VivScreenInit()

Изображение есть, но вот Qt5 падает с segfault. В strace видно это:
/dev/galcore Inappropriate ioctl for device)


Подскажите, пожалуйста, как мне собрать ядро и модули так, чтобы ускорение заработало?

На buildroot-2017.08 ускорение работает, приложение запускается, однако тачскрин отстреливает в Xorg:

[ 1079.605] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen
[ 1079.605] (EE) kernel bug: Device 'ADS7846 Touchscreen' has min == max on ABS_PRESSURE
[ 1079.605] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 was rejected.

Но на buildroot-2019.02 он работает отлично. Кажется, я делаю что-то не так: на 4.1.15 ядре работает ускорение, но не работает тач, на 4.14.78 наоборот: не работает ускорение, но работает так. Мне не важно, на какой из версий ядер, но хочется, чтобы и то, и то работало одновременно.
Спуститься к концу Подняться к началу
Персональная информация
sumlin
Добавлено 09.11.2020 07:35 Редактировалось 09.11.2020 07:39 Сообщение: 36
sumlin
0

Пункты: 485
Регистрация: 24.06.2018
Методом проб и ошибок понял, что единственный galcore.ko, который способен работать под debian 9 - это модуль из архива по ссылке http://starterkit.ru/html/index.php?name=forum&op=view&id=28748#28793 Но этот модуль только для 4.1.15. А вот как он был получен - у меня идей нет. Пробовал собирать его на виртуалке вместе с buildboot - получал модуль размером в 200+ KIB, который падает с

[ 10.944] (EE) VIVANTE(0): internal error: GPU Ctx Init Failed
[ 10.944] (EE) VIVANTE(0): internal error: initExaLayer failed in VivScreenInit()

Пробовал много разных версий. Этот хотя бы грузится.

Попробовал установить через dkms модуль от boundarydevices прям на iMX6, подложил как build папку linux-custom с buildroot - собирается, но при попытке modprobe ругается на Exec format, в dmesg это: galcore: disagrees about version of symbol module_layout. Если подхачить версию module_layout через hexdump, то ругается на портянку Unknown symbol и disagrees about version of symbol. Причём dkms собирает и armv7l, и armhf, причём они имеют одинаковую хешсумму.

@sasamy , очень нужна помощь - как собрать galcore так, чтобы его 4.14.78 debian 9 скушал? В вашем архиве собран Galcore версии 6.2.2.93313, если что.

Мне эта задача кажется реалистичнее, чем починить драйвер тача...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.11.2020 12:06 Сообщение: 37
sasamy
4.71

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

Мне эта задача кажется реалистичнее, чем починить драйвер тача...


поменять ядро не просто потому что кроме ядра у GPU драйвер еще в юзерспейс - это библиотеки opengl, они закрытые и привязаны к определенной версии драйвера в ядре.

Цитата

[ 1079.605] (EE) kernel bug: Device 'ADS7846 Touchscreen' has min == max on ABS_PRESSURE


не знаю какая у вас плата - добавьте в DTS в описании тачскрина выделенный текст

&ecspi1 {
fsl,spi-num-chipselects = <1>;
cs-gpios = <&gpio5 25 0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1_sodimm>;
status = "okay";

tsc2046@0 {
compatible = "ti,tsc2046";
reg = <0>;
spi-max-frequency = <100000>;
/* pen irq is GPIO3_27 */
interrupt-parent = <&gpio3>;
interrupts = <27 0x2>;
pendown-gpio = <&gpio3 27 0>;
vcc-supply = <&reg_3p3v>;

ti,debounce-max = /bits/ 16 <5>;
ti,debounce-tol = /bits/ 16 <10>;
ti,debounce-rep = /bits/ 16 <0>;
ti,pressure-max = /bits/ 16 <255>;

linux,wakeup;
};
};
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux