User Info
Добро пожаловать, Guest Пользователей: 1 Поисковых ботов: 3 Гостей: 1
Allenmycle forum Google Bot account oBot forum Yandex Bot forum
Jury093
Пункты: 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
Пункты: 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
Пункты: 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
Пункты: 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§ion=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
Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата Собирать буду на виртуалке.
Что поменять в MakeFile драйвера?
И куда поместить собранный драйвер, чтобы потом ядро собралось правильно?
если на виртуалке, то у вас два пути
1. внедрить драйвер в дерево ядра, это вроде описано в readme в архиве. там достаточно несложно
2. компилировать отдельно. в том архме, что я выложил надо поправить путь до ядра и видимо указать ARCH=arm, ну и компилировать кросскомпиллером..
На любой вопрос есть любой ответ.
qqqqq2
Пункты: 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
Пункты: 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
Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата (в СПб немножко жарко)
Я тоже из Питера, работаю в Металлострое.
Jury093
Пункты: 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
Пункты: 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