yarr
September 29, 2025, 10:27pm
1
Здравствуйте,
После установки пакета linux-headers-wb8 (linux-headers-wb8_6.8.0-wb140_arm64.deb) на wb 8.5.
В директории сриптов почему-то они собраны под x86_64
# file /lib/modules/6.8.0-wb140/build/scripts/mod/modpost
/lib/modules/6.8.0-wb140/build/scripts/mod/modpost: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9693a9476004b85b38d31be36b5e1ed9419ae03f, for GNU/Linux 3.2.0, not stripped
Добрый день.
Откатился на stablу, проверил:
root@wirenboard-AC4U5OVN:~# uname -a
Linux wirenboard-AC4U5OVN 6.8.0-wb140 #1 SMP Fri Jul 18 08:08:05 UTC 2025 aarch64 GNU/Linux
root@wirenboard-AC4U5OVN:~# apt install -y linux-headers-wb8
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libacl1:armhf libarchive13:armhf libavahi-client-dev:armhf libavahi-client3:armhf libavahi-common-data:armhf libavahi-common-dev:armhf libavahi-common3:armhf libavahi-compat-libdnssd-dev:armhf libavahi-compat-libdnssd1:armhf libbrotli1:armhf libbz2-1.0:armhf libc-ares2:armhf libcap2:armhf libcurl3-gnutls:armhf libdb5.3:armhf
libdbus-1-3:armhf libdbus-1-dev:armhf libdpkg-perl libev4:armhf libffi7:armhf libfile-fcntllock-perl libgcrypt20:armhf libgmp10:armhf libgnutls30:armhf libgpg-error0:armhf libhogweed6:armhf libicu67:armhf libldap-2.4-2:armhf liblz4-1:armhf liblzma5:armhf libmosquitto1:armhf libnettle8:armhf libnghttp2-14:armhf libnss-mdns:armhf
libp11-kit0:armhf libpsl5:armhf librtmp1:armhf libsasl2-2:armhf libsasl2-modules:armhf libsasl2-modules-db:armhf libsensors-config libsensors5 libssh2-1:armhf libstdc++6:armhf libsystemd0:armhf libtasn1-6:armhf libuv1:armhf libwebsockets16:armhf libxml2:armhf libzstd1:armhf pkg-config python3-all python3-distutils python3-lib2to3
sharutils zlib1g:armhf
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
linux-headers-wb8
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 17.7 MB of archives.
After this operation, 85.8 MB of additional disk space will be used.
Get:1 https://deb.wirenboard.com/wb8/bullseye stable/main arm64 linux-headers-wb8 arm64 6.8.0-wb140 [17.7 MB]
Fetched 17.7 MB in 6s (2,836 kB/s)
Selecting previously unselected package linux-headers-wb8.
(Reading database ... 33627 files and directories currently installed.)
Preparing to unpack .../linux-headers-wb8_6.8.0-wb140_arm64.deb ...
Unpacking linux-headers-wb8 (6.8.0-wb140) ...
Setting up linux-headers-wb8 (6.8.0-wb140) ...
root@wirenboard-AC4U5OVN:~# file /lib/modules/6.8.0-wb140/build/scripts/mod/modpost
/lib/modules/6.8.0-wb140/build/scripts/mod/modpost: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9693a9476004b85b38d31be36b5e1ed9419ae03f, for GNU/Linux 3.2.0, not stripped
в 144 все хорошо:
file /lib/modules/6.8.0-wb144/build/scripts/mod/modpost
/lib/modules/6.8.0-wb144/build/scripts/mod/modpost: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9693a9476004b85b38d31be36b5e1ed9419ae03f, for GNU/Linux 3.2.0, not stripped
yarr
September 30, 2025, 7:30am
4
Ну так у вас тоже показывает, что это бинарник для ...x86-64, version 1...
Для WB8 должно быть что-то типа
ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked....
Из-за этого при сборке моего модуля ядра на системе получается таккое:
root@wirenboard-AQK5FVSC:/mnt/data/module# make
make -C "/lib/modules/6.8.0-wb140/build" M=/mnt/data/module modules
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-wb140'
/bin/sh: 1: scripts/mod/modpost: Exec format error
make[3]: *** [scripts/Makefile.modpost:145: /mnt/data/module/Module.symvers] Error 126
make[2]: *** [/usr/src/linux-headers-6.8.0-wb140/Makefile:1873: modpost] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-wb140'
make: *** [Makefile:6: all] Error 2
Да, попросил разработчиков посмотреть.
А для чего именно на контроллере собираете? Это не выглядит логичным и правильным.
yarr
September 30, 2025, 12:41pm
6
Да ладно, что уже свой модуль ядра собрать нельзя?
Ранее на wb6 код в юзерспейсе не мог обеспечить джиттер < 1000us. Пришлось написать модуль ядра с ним всё работало стабильно. Сейчас перехожу на wb8
Можно и даже нужно. Но собирать пакет стоит не на контроллере, на компьютере удобнее и быстрее.
yarr
September 30, 2025, 1:14pm
8
Собирая на компе тоже ряд проблем есть, начиная с того что модуль получает другой vermagic и не загружается на целевой системы из-за несовпадения vermagic на целевой системе. Только если форсом, но это как-то не оч. Ну или патчить переменные. Тем более если в дальнейшем ядро на wb будет обновляться и меняться ядро, удобнее будет уже собрать на самой wb.
Добрый день,
Разработчики сообщают, исправления данной проблемы доступно в тестинге.