Страница 1 из 3
Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 13:10
Сергей Саныч
Собственно, интересует драйвер serport для версий 2.5.x
Драйвер новых версий (2.7) запускается только один раз. При повторном запуске (хоть через LCNC, хоть через halrun) выдает ошибку занятости ресурса. Лечится только перезагрузкой Linux.
Если подставляю драйвер (serport.ko) из версии 2.5.4, с перезапуском проблем нет.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 13:33
PKM
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 14:58
Сергей Саныч
С этим изменением (замена одного из заголовочных файлов) выдает ошибку при компиляции посредством comp. То есть новая версия им не компилируется.
Через halcompile успешно компилируются обе версии, и обе не выдерживают повторного запуска.
Кроме того, еще один непонятный момент: скомпилированные файлы .ko имеют объем около 100 кбайт, тогда как те же файлы, полученные при установке LCNC из исходников - не более 10 кбайт. Понятно, что что-то лишнее подключается, но как этого избежать?
Компиляция делалась командами:
или
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 15:28
PKM
Любопытно. Тогда это проблема с компиляцией по-новому... без разработчиков не разобраться.
Есть тикет на аналогичную проблему с parport, подкинул туда инфу и насчет serport - вдруг это как-то связано.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 15:49
Serg
Сергей Саныч писал(а):Через halcompile успешно компилируются обе версии, и обе не выдерживают повторного запуска.
В качестве побочного результата компиляции образуется файл serport.c - дай оба варианта посмотреть...
И покажи, что говорит lsmod после завершения linuxcnc с serport новой версии?..
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 16:30
Сергей Саныч
Здесь три варианта -
c25c - версия 2.5 скомпилированная comp
c25h - через halcompile
c27h - 2.7 через halcompile
Код: Выделить всё
Module Size Used by
binfmt_misc 6587 1
dm_crypt 11363 0
ppdev 5259 0
ftdi_sio 32549 0
parport_pc 25637 1
joydev 8644 0
usbtouchscreen 8041 0
psmouse 63213 0
serio_raw 3978 0
usbserial 32063 1 ftdi_sio
k8temp 3024 0
i2c_nforce2 5159 0
lp 7028 0
parport 30764 3 ppdev,parport_pc,lp
dm_raid45 81157 0
xor 14673 1 dm_raid45
usbhid 35772 0
hid 65804 1 usbhid
fbcon 35102 71
tileblit 1987 1 fbcon
font 7406 1 fbcon
bitblit 4664 1 fbcon
softcursor 1151 1 bitblit
vga16fb 11161 0
vgastate 8760 1 vga16fb
nouveau 467048 2
ttm 46069 1 nouveau
drm_kms_helper 27748 1 nouveau
drm 154120 4 nouveau,ttm,drm_kms_helper
floppy 51992 0
agpgart 29292 2 ttm,drm
i2c_algo_bit 4903 1 nouveau
forcedeth 49072 0
pata_amd 8766 2
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 16:53
PKM
Кстати исправление для проблемы parport уже готово
http://git.linuxcnc.org/gitweb?p=linuxc ... 14e87b6152
Возможно и данную проблему оно пофиксит
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 17:44
Serg
Сергей Саныч писал(а):Кроме того, еще один непонятный момент: скомпилированные файлы .ko имеют объем около 100 кбайт, тогда как те же файлы, полученные при установке LCNC из исходников - не более 10 кбайт. Понятно, что что-то лишнее подключается, но как этого избежать?
Просто при компилации из исходников ты не включал добавление отладочной информации. Избежать легко:
$ ls -l /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
-rw-r--r-- 1 root root 104222 Дек 13 08:59 /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
$ file /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=0xeedd5aaf67857c8b9bf38d685d25fbf3940255d4, not stripped
$ sudo strip /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
$ file /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=0xeedd5aaf67857c8b9bf38d685d25fbf3940255d4, stripped
$ ls -l /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
-rw-r--r-- 1 root root 7016 Янв 6 17:33 /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/serport.ko
но бессмысленно.
попробуй добавить
struct __comp_state *__comp_inst=0;
между 53 и 54 строками. Хотя это и неправильно...
Замена
#include <asm/io.h>
на
#include <rtapi_io.h>
тоже совершенно правильная и влиять на это не должна.
На досуге попробую поискать причину...
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 17:50
PKM
там была проблема в самом rtapi
ответили: commit e1f0c96 in 2.7 should fix that (serport) issue too
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 19:17
solo
у меня в хламе валяется CD установочный с линухом10.04 и ЕМС 2.4
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 21:10
Serg
Собственно ответ на вопрос темы:
Клонируете к себе git-репозиторий известной командой
Код: Выделить всё
git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-old
заходите в получившийся каталог linuxcnc-old и там выполнаете команду типа
теперь у вас в каталоге linuxcnc-old находится версия 2.6.5.
Командой
можно посмотреть какие версии доступны.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 21:15
PKM
Я тоже начал это писать. Потом подумал, что из-за одного файла клонировать лениво. Проще из веба стащить, заодно все изменения просмотреть.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 06 янв 2015, 22:14
Сергей Саныч
Кстати. Почему-то с рабочего компьютера никогда не получалось работать с git. Сейчас попробовал из дома - нормально скачалось.
Может, git какой-то специфический порт использует?
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 07 янв 2015, 01:23
Serg
Использует 9418/tcp.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 07 янв 2015, 09:33
Сергей Саныч
Код: Выделить всё
cnc@cnc-desktop:~$ git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-old
Initialized empty Git repository in /home/cnc/linuxcnc-old/.git/
git.linuxcnc.org[0: 76.79.18.203]: errno=Connection timed out
fatal: unable to connect a socket (Connection timed out)
cnc@cnc-desktop:~$
Однако, придется админ просить, дырка файрвол ковырять

Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 07 янв 2015, 10:04
Serg
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 07 янв 2015, 10:14
Сергей Саныч
Нот фаунд, говорит
The requested URL /html/linuxcnc/linuxcnc.git.tar.bz2 was not found on this server.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 07 янв 2015, 10:18
Serg
поправил ссылку.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 07 янв 2015, 10:31
Сергей Саныч
Теперь не может дождаться ответа сервера - вылетает по тайм-ауту.
Re: Где взять исходники старых версий LinuxCNC?
Добавлено: 07 янв 2015, 10:57
PKM
У меня качается без проблем