Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
iMX6. Debian. MOXA
Jury093
Добавлено 22.07.2016 02:34 Редактировалось 22.07.2016 02:36 Сообщение: 11
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата

она дохлая, т.е. не компилируется..
ответ тут:
http://www.moxa.ru/forum/index.php?/topic/478-uport-1110-linuks-drajver/page-5#entry9399

я модифицировал, как требовалось и успешно скомпилировал *.ko - все добро в архиве по ссылке
https://yadi.sk/d/WHfM0R60tWso9

я не стал внедрять его в исходники ядра, там в доке описано, что и куда..
что надо для сборки отдельно:
- на ките создать каталог /root/moxa/linux-custom и туда развернуть исходники ядра или хотя бы весь каталог include
- развернуть вышеприложенный архив, допустим в /root/moxa/ext
далее
Код
cd /root/moxa/ext/driver
make module

после пары варнингов должен собраться mxu11x0.ko
который у меня молча грузится, ибо нет железки..

для ядра
root@holapc:~/moxa/mxu11x0/driver# uname -a
Linux holapc 3.10.17 #21 SMP PREEMPT Sun Jun 26 00:23:50 MSK 2016 armv7l GNU/Linux

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 22.07.2016 04:30 Редактировалось 22.07.2016 11:36 Сообщение: 12
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Jury093, спасибо!

Планы поменялись
Устройство другое оказывается - MOXA NPort IA5450A

есть тема на форуме
http://www.moxa.ru/forum/index.php?/topic/1732-proshu-pomoch-so-sborkoj-linux-drajvera-dlia-nport-5150/page-2

Попробую разобраться.

Для начала исходники ядра надо добыть, почитал что Вы написали, но пока не понял.
У меня Linux c ядром 3.1.2

На одной виртуалке есть каталог, там много папок
/home/user/src/buildroot-2014.08-sk-3.10.17/output/build

На другой
/home/user/src/kernel/linux_rel_imx_3.0.35_4.1.0-sk/

или вообще что-то типа ???
Код
root@armets:/# apt-get install linux-source
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gnome-terminal-data libvte-2.90-9 libvte-2.90-common
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
bzip2 linux-source-3.2
Suggested packages:
bzip2-doc libncurses-dev ncurses-dev libqt4-dev
The following NEW packages will be installed:
bzip2 linux-source linux-source-3.2
0 upgraded, 3 newly installed, 0 to remove and 33 not upgraded.
Need to get 77.7 MB of archives.
After this operation, 77.9 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 22.07.2016 12:31 Сообщение: 13
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
На одной виртуалке есть каталог, там много папок
/home/user/src/buildroot-2014.08-sk-3.10.17/output/build

вот там и поищите каталог с ядром, называться он может по разному, внутри д.б. файл типа zImage|uImage

Цитата
или вообще что-то типа ???

исходники то вытащатся, но врядли они у вас запустятся

У меня Linux c ядром 3.1.2
/home/user/src/buildroot-2014.08-sk-3.10.17/output/build
/home/user/src/kernel/linux_rel_imx_3.0.35_4.1.0-sk/

и все же с ядром определитесь..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 22.07.2016 12:46 Редактировалось 22.07.2016 13:37 Сообщение: 14
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата

и все же с ядром определитесь..

Определился. В соответствии с документом "Manual_SK-iMX6-SODIMM.pdf".

/home/user/src/kernel/linux_rel_imx_3.0.35_4.1.0-sk/

Собирать буду на виртуалке.

архив драйвера
http://www.moxa.ru/forum/index.php?app=core&module=attach&section=attach&attach_id=1505

build.sh для сборки ядра
Код
#!/bin/sh

#cross_compile=arm-none-linux-gnueabi-
#cross_compile=/home/user/crosscompiler/ctng-softfp/bin/arm-softfp-linux-gnueabi-
cross_compile=/home/user/crosscompiler/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/arm-linux-gnueabi-
#cross_compile=/home/user/crosscompiler/armv7l_toolchain/bin/armv7l-timesys-linux-gnueabi-

## to Safe kernel make, before need imx6sk_sodimm_updater_defconfig configure - see menuconfig.sh
#make -j3 ARCH=arm CROSS_COMPILE=$cross_compile uImage
#cp arch/arm/boot/uImage /home/user/tftp/uImage_safe

## to kernel make, before need imx6sk_sodimm_defconfig configure - see menuconfig.sh
make -j3 ARCH=arm CROSS_COMPILE=$cross_compile
mkimage -A arm -O linux -T kernel -C none -a 0x10008000 -e 0x10008000 -n 'Linux' -d arch/arm/boot/Image arch/arm/boot/uImage
cp arch/arm/boot/uImage /home/user/tftp/uImage

make -j2 ARCH=arm CROSS_COMPILE=$cross_compile INSTALL_MOD_PATH=/home/user/tftp/Kernel_modules modules
make -j2 ARCH=arm CROSS_COMPILE=$cross_compile INSTALL_MOD_PATH=/home/user/tftp/Kernel_modules modules_install


#cd ./rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911
#make
#cd ../
#mkdir /home/user/tftp/Kernel_modules/lib/modules/3.1.2/extra
#cp ./rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/*.ko /home/user/tftp/Kernel_modules/lib/modules/3.1.2/extra

#cp arch/arm/boot/uImage /home/user/src/rootfs/main_fs/nand_fs/buildroot-2013.02/user_files/boot
cd /home/user/tftp/Kernel_modules
tar -czf ../Kernel_modules.tar.gz ./*

sync


Что поменять в MakeFile драйвера?
И куда поместить собранный драйвер, чтобы потом ядро собралось правильно?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 22.07.2016 21:57 Сообщение: 15
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Собирать буду на виртуалке.
Что поменять в MakeFile драйвера?
И куда поместить собранный драйвер, чтобы потом ядро собралось правильно?

если на виртуалке, то у вас два пути
1. внедрить драйвер в дерево ядра, это вроде описано в readme в архиве. там достаточно несложно
2. компилировать отдельно. в том архме, что я выложил надо поправить путь до ядра и видимо указать ARCH=arm, ну и компилировать кросскомпиллером..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 25.07.2016 09:33 Редактировалось 25.07.2016 11:43 Сообщение: 16
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Jury093,
а как вот это соблюсти?
Код
3. System Requirement
To install this driver, you will need NPort Server and one of
the following system.

- kernel 2.4.x or 2.6.x or above and the kernel source package
- gcc-2.7.2.1 or above
- ld.so-1.7.14 or above
- libc.so-5 or above
- binutils-2.7.0 or above
- make-3.74 or above
- gunzip-1.2.4 or above
- gawk-3.1.1.9 or above
- openssl-0.9.8a or above (For Secure Real COM Mode only)


И как вот это образуется на флешке с Debian?
Код
g. The shell script will install the driver files automatically.

After installing the driver, you will be able to see several
files in the "/usr/lib/npreal2/driver" folder, including:

- mxaddsvr (Add Server, map tty port)
- mxsetsec (Set secure communication mode)
- mxdelsvr (Delete Server, un-map tty port)
- mxloadsvr (Reload Server)
- mxuninst (Remove tty port and driver files)


Получается, что всё-таки придется компилировать в Debian.

Скопировал из виртуалки архив исходников ядра
(из папки /home/user/src/kernel/linux_rel_imx_3.0.35_4.1.0-sk/).
Что тут брать для сборки ядра?
Код
arch\
block\
crypto\
Documentation\
drivers\
firmware\
fs\
include\
init\
ipc\
kernel\
lib\
mm\
net\
rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105\
rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911\
samples\
scripts\
security\
sound\
tools\
usr\
virt\
yocto\
.config
.config.old
.gitignore
.mailmap
.version
build.sh
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
menuconfig.sh
Module.symvers
README
REPORTING-BUGS
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 25.07.2016 15:03 Редактировалось 25.07.2016 15:05 Сообщение: 17
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
а как вот это соблюсти?
3. System Requirement
To install this driver, you will need NPort Server and one of
the following system.

дак там же написаны имена пакетов - чего требуется для сборки драйвера..
исходники ядра, компилятор, утилиты, архиватор..
можно попробовать традиционный путь на плате
Код
apt-get install openssl gawk gunzip binutils


Цитата
И как вот это образуется на флешке с Debian?
g. The shell script will install the driver files automatically.
After installing the driver, you will be able to see several
files in the "/usr/lib/npreal2/driver" folder, including:

вероятно в ветке Install скрипта происходит копирование этих скриптов в указанный каталог и оттуда вызываются по смыслу "запустить сервер" "остановить" и тыды

Цитата
Получается, что всё-таки придется компилировать в Debian.

не обязательно, более того в нативном Дебьян (х86) надо отследить, куда падают либы (если они есть) и вышеуказанные скрипты
держите в голове - как правило исходники в линуксе пишут и отлаживают на обычных компах и если соблюдены стандарты по написанию, то обычно можно скомпилировать прямо на таргетах (неважно АРМ, MIPS или иная архитектура).. проблемы могут возникнуть при привязках к конкретному железу или преобразованиях в разрядности систем..

Цитата
Что тут брать для сборки ядра?

попробуйте для начала каталог
include/
возможно еще потребуется что-то типа
arch/arm/

если вечером руки дотянутся, попробую скомпилировать (в СПб немножко жарко)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 25.07.2016 15:28 Сообщение: 18
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата
(в СПб немножко жарко)

Я тоже из Питера, работаю в Металлострое.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 25.07.2016 22:51 Редактировалось 25.07.2016 23:50 Сообщение: 19
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
(в СПб немножко жарко)
Я тоже из Питера, работаю в Металлострое.

ну вполне так..
к драйверу - взял архив из линка, забросил на плату, распаковал, в Makefile поправил путь до ядра
было
#KDIR := /lib/modules/$(shell uname -r)/build
стало
KDIR := /root/moxa/linux-custom
далее компиляция прошла без ошибок:
Код
root@holapc:~/moxa/moxa# make
make -C /root/moxa/linux-custom SUBDIRS=/root/moxa/moxa modules
make[1]: Entering directory `/root/moxa/linux-custom'
CC [M] /root/moxa/moxa/npreal2.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/moxa/moxa/npreal2.mod.o
LD [M] /root/moxa/moxa/npreal2.ko
make[1]: Leaving directory `/root/moxa/linux-custom'
cp -p npreal2.ko /lib/modules/3.10.17/kernel/drivers/char/
depmod -a
cc -c npreal2d.c
cc npreal2d.o -o npreal2d
strip npreal2d
cc -c redund_main.c
cc -c redund.c
cc redund_main.o redund.o -lpthread -o npreal2d_redund
strip npreal2d_redund
cc -o mxaddsvr mxaddsvr.c
strip mxaddsvr
cc -o mxdelsvr mxdelsvr.c
strip mxdelsvr
cc -o mxcfmat mxcfmat.c
strip mxcfmat
cc -o mxloadsvr mxloadsvr.c
strip mxloadsvr
cc -o mxsetsec mxsetsec.c
strip mxsetsec
root@holapc:~/moxa/moxa# ls -l /lib/modules/3.10.17/kernel/drivers/char/
total 36
-rw-r--r-- 1 root root 35363 Jul 25 21:38 npreal2.ko
root@holapc:~/moxa/moxa# file mxloadsvr
mxloadsvr: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xd741630e2d48c96ac1e772c9b4f263159c203d58, stripped
root@holapc:~/moxa/moxa# uname -a
Linux holapc 3.10.17 #21 SMP PREEMPT Sun Jun 26 00:23:50 MSK 2016 armv7l GNU/Linux

попробуйте самостоятельно собрать модуль.. там в readme расписана процедура работы с софтом и сервером..
да, исходники вроде как для ядер 2.6 и 3.0..
это все на imx6s и 3.10.17

все тоже самое на imx6q и 3.0.35
http://pastebin.com/ygbmHCX5

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 26.07.2016 09:12 Сообщение: 20
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Код
root@armets:~/moxa/moxa# make
make -C /root/moxa/linux-custom SUBDIRS=/root/moxa/moxa modules
make[1]: Entering directory `/root/moxa/linux-custom'
CC [M] /root/moxa/moxa/npreal2.o
scripts/basic/fixdep: 1: scripts/basic/fixdep: Syntax error: "(" unexpected
make[2]: *** [/root/moxa/moxa/npreal2.o] Error 2
make[1]: *** [_module_/root/moxa/moxa] Error 2
make[1]: Leaving directory `/root/moxa/linux-custom'
make: *** [module] Error 2
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux