Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

Opis instalacji i uruchomienia sterowania urządzeniami ethercat przez Linuxcnc 2.9.0~pre poprzez ethercat

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
mik197
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 8
Rejestracja: 21 gru 2018, 14:40

Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#1

Post napisał: mik197 » 27 lip 2022, 19:16

Witam Wszystkich,
Przedstawiam tutorial na podstawie którego chętni będą w stanie samodzielnie zbudować sobie sterowanie urządzeń/maszyn cnc z wykorzystaniem sieci ethercat.

Zaczynamy:

Instalacja Linuxcnc 2.9.0~pre oraz ethercat master i sterowników urządzeń ethercat opracowanych przez S. Ittner’a (lcec) dla systemu Debian 11.
Ta procedura dotyczy kompilacji Linuxcnc 2.9.0~pre bez dokumentacji - nie kompiluje się bezbłędnie (na razie)

Niektóre linki stron z których korzystałem:
https://forum.linuxcnc.org/ethercat/453 ... ep-by-step
https://github.com/grotius-cnc?tab=repositories

w opisie zamieszczam przykładowe komunikatów z systemu - tak dla większej orientacji osób równie słabo orientujących się w linuxie jak ja.

Instalacja linux debian:
I. Ze strony debiana pobieramy wersję sieciową systemu debian.
II. Nagrywamy bootowalnego pendriva z systemem Debian 11 (najnowsza wersja) Bullseye.
III. Uruchamiamy system z pendriva i rozpoczynamy instalację:
1. wybieramy instalację systemu (opis poniżej dotyczy nie graficznej wersji instalatora)
2. język użytkownika (polski)
3. lokalizację (Polska)
4. układ klawiatury (polski)
5. wybieramy kartę sieciową do połączenia z internetem (ja mam zabud. dwie karty sieciowe)
(jedna do połączenia z internetem druga do sterowania ethercat)
6. nazwa hosta (pozostawiamy zaproponowaną przez system mk-linuxcnc => Dalej
7. nazwa domeny (CNC) => Dalej
8. hasło administratora (POMIJAMY) => Dalej
9. potwierdzenie hasła dla konta administratora => Dalej
10. pełna nazwa użytkownika (m.. k..)
11. nazwa konta (mirkos) => Dalej
12. hasło użytkownika (xxxxxxx) => Dalej
13. potwierdź hasło (xxxxxxx) => Dalej
14. sposób partycjonowania (cały dysk) = Dalej
15. wybierz dysk => Dalej
16. metoda partycjonowania (wszystko na jednej partycji) =Dalej
17. zakończ partycjonowanie i zapisz => ENTER
18. zapisać zmiany na dyskach (TAK) => ENTER
19. kraj serwera lustrzanego (Polska) => ENTER
20. serwer lustrzany (deb.debian.org) => ENTER
21. dane serwera pośredniczącego (nic nie wpisujemy) => Dalej
22. chcesz wziąć udział w konkursie (NIE) => ENTER
23. wybierz oprogramowanie (gnome, xfce, mate, cynamon oznacz gwiazdą – spacją) = Dalej
24. zainstalować grub (TAK) => ENTER
25. urządzenie do instalacji grub (wybieramy nasz dysk HDD) => ENTER
26. instalacja zakończona (wyciągany pendrive) => Dalej
Uruchamia się debian 11 byllseye z GUI jaki sobie wybraliśmy (testowane dla gnome, xfce).

Instalujemy jądro sytemu real time (-rt) - PREEMT-RT:
I. uruchamiamy jako administrator program synaptic

mirkos@mk-linuxcnc:~$ sudo synaptic

w zakładce działy zaznaczamy „Jądro i moduły” i w oknie pakietów wybieramy do instalacji ostatnie wersje modułów „linux-image” i „linux-headers” zawierających przyrostek”-rt” – w moim przypadku były to:

linux-headers-5.10.0-16-common-rt
linux-headers-5.10.0-16-rt-amd64
linux-headers-rt-amd64
linux-image-5.10.0-16-rt-amd64
linux-image-rt-amd64

pozostałe które w synaptic zaznaczone są jako zainstalowane odznaczamy do usunięcia. W trakcie instalacji pakietów jądra systemu odznaczamy buton (ma być pusty) zapobiegający odinstalowaniu pracującego obecnie jądra systemu.

II. Zamykamy program synaptic i restartujemy komputer

mirkos@mk-linuxcnc:~$ sudo reboot

III. sprawdzamy działającą wersję jądra systemy:

mirkos@mk-linuxcnc:~$ uname -a
Linux mk-linuxcnc 5.10.0-16-rt-amd64 #1 SMP PREEMPT_RT Debian 5.10.127-1 (2022-06-30) x86_64 GNU/Linux

wynik powinien wyglądać podobnie do powyższego: 5.10.0-16-rt-amd64 (-rt real time)

Można oczywiście w/w procedurę podzielić na dwa etapy i najpierw zainstalować nowe pakiety jądra systemy oznaczone z literami -rt i po restarcie komputera odinstalować niepotrzebne jądra systemy. Jak dotychczas bez problemów udawało mi się to jednocześnie zrobić.

Budujemy pakiety instalacyjne linuxcnc *deb:
mirkos@mk-linuxcnc:~$ sudo apt-get install git geany dpkg-dev
mirkos@mk-linuxcnc:~$ git clone https://github.com/LinuxCNC/linuxcnc.git linuxcnc-dev
mirkos@mk-linuxcnc:~$ cd linuxcnc-dev/debian
mirkos@mk-linuxcnc:~/linuxcnc-dev/debian$ ./configure uspace no-docs
uspace is accepted for compatibility, but ignored
successfully configured for 'uspace-Debian-11'..

mirkos@mk-linuxcnc:~/linuxcnc-dev/debian$ cd ..
mirkos@mk-linuxcnc:~/linuxcnc-dev$ dpkg-checkbuilddeps
dpkg-checkbuilddeps: błąd: Unmet build dependencies: debhelper-compat (= 13) dh-python libudev-dev autoconf automake bwidget (>= 1.7) gettext intltool libboost-python-dev libepoxy-dev libgl1-mesa-dev | libgl1-mesa-swx11-dev libglu1-mesa-dev libgtk2.0-dev libgtk-3-dev libmodbus-dev (>= 3.0) libeditreadline-dev libusb-1.0-0-dev libxmu-dev po4a python3-dev python3-tk python3-xlib tcl8.6-dev tclx tk8.6-dev yapps2

zamiast w/w brakujących bibliotek zainstaluje poniższe wcześniej wykorzystywane zbiory bibliotek służących do kompilacji linuxcnc zawierających pliki dokumentacji jak również pliki służące do prawidłowego wyświetlania GUI programu Linuxcnc – dla kart graficznych Intel.

libgl1-mesa-swx11-dev – podobno jest przestarzały, bez niego zainstalowany system linuxcnc 2.9.0~pre również działa prawidłowo.

mirkos@mk-linuxcnc:~/linuxcnc-dev$ sudo apt-get install -y debhelper-compat debhelper dh-python libudev-dev autoconf automake tcl8.6-dev tk8.6-dev libeditreadline-dev libusb-1.0-0-dev bwidget tclx libeditreadline-dev asciidoc dblatex docbook-xsl dvipng ghostscript graphviz groff imagemagick inkscape python3-lxml source-highlight w3c-linkchecker xsltproc texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-lang-cyrillic texlive-lang-french texlive-lang-german texlive-lang-polish texlive-lang-spanish texlive-latex-recommended asciidoc-dblatex python3-dev python3-tk libxmu-dev libglu1-mesa-dev libgl1-mesa-dev libgtk2.0-dev libgtk-3-dev gettext intltool libboost-python-dev libmodbus-dev libusb-1.0-0-dev psmisc yapps2 libepoxy-dev python3-xlib python3-pyqt5 python3-dbus.mainloop.pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtquick qml-module-qtquick-controls gstreamer1.0-plugins-bad libqt5multimedia5-plugins pyqt5-dev-tools python3-dev python3-setuptools python3-wheel python3-pip python3-yapps dpkg-dev python3-serial libtk-img qttools5-dev qttools5-dev-tools python3-wheel espeak espeak-data espeak-ng freeglut3 gdal-data gstreamer1.0-tools libaec0 libarmadillo10 libarpack2 libcfitsio9 libcharls2 libdap27 libdapclient6v5 libepsilon1 libespeak1 libfreexl1 libfyba0 libgdal28 libgdcm3.0 libgeos-3.9.0 libgeos-c1v5 libgeotiff5 libgif7 libglew2.1 libgtksourceview-3.0-dev libhdf4-0-alt libhdf5-103-1 libhdf5-hl-100 libimagequant0 libkmlbase1 libkmldom1 libkmlengine1 liblept5 libmariadb3 libminizip1 libnetcdf18 libodbc1 libogdi4.1 libopencv-calib3d4.5 libopencv-contrib4.5 libopencv-core4.5 libopencv-dnn4.5 libopencv-features2d4.5 libopencv-flann4.5 libopencv-highgui4.5 libopencv-imgcodecs4.5 libopencv-imgproc4.5 libopencv-ml4.5 libopencv-objdetect4.5 libopencv-photo4.5 libopencv-shape4.5 libopencv-stitching4.5 libopencv-video4.5 libopencv-videoio4.5 libportaudio2 libpq5 libproj19 libprotobuf23 libqhull8.0 librttopo1 libsocket++1 libspatialite7 libsuperlu5 libsz2 libtbb2 libtesseract4 liburiparser1 libxerces-c3.2 libxml2-dev mariadb-common mesa-utils mysql-common odbcinst odbcinst1debian2 proj-bin proj-data python3-configobj python3-espeak python3-gi-cairo python3-olefile python3-opencv python3-opengl python3-pil python3-pil.imagetk python3-pyqt5.qtsvg python3-pyqt5.qtwebkit tcl-tclreadline geotiff-bin gdal-bin glew-utils libgtksourceview-3.0-doc libhdf4-doc libhdf4-alt-dev hdf4-tools odbc-postgresql tdsodbc ogdi-bin python-configobj-doc libgle3 python-pil-doc python3-pil-dbg python3-pil.imagetk-dbg python3-sqlalchemy netcat po4a

sprawdzenie jeszcze raz czy wszystkie pakiety zależne zostały zainstalowane:

mirkos@mk-linuxcnc:~/linuxcnc-dev$ dpkg-checkbuilddeps
mirkos@mk-linuxcnc:~/linuxcnc-dev$ cd src/hal
mirkos@mk-linuxcnc:~/linuxcnc-dev/src/hal$ geany hal_priv.h

zamieniamy wartość HAL_STACKSIZE i sprawdzamy HAL_SIZE

#define HAL_STACKSIZE 16384 /* realtime task stacksize */
na
#define HAL_STACKSIZE 32768 /* realtime task stacksize */
oraz
#define HAL_SIZE (256*4096)
sprawdzamy czy jest co najmniej (170*4096) – jeżeli więcej pozostawiamy bez zmian.
zapisujemy zmiany i zamykamy geany

mirkos@mk-linuxcnc:~/linuxcnc-dev/src/hal$ cd ..
mirkos@mk-linuxcnc:~/linuxcnc-dev/src$ cd ..
mirkos@mk-linuxcnc:~/linuxcnc-dev$ dpkg-buildpackage -b -uc
mirkos@mk-linuxcnc:~/linuxcnc-dev$ cd ..
mirkos@mk-linuxcnc:~$ ls
Dokumenty Pobrane Publiczny Pulpit Muzyka Obrazy Wideo Szablony
linuxcnc-dev
linuxcnc-ethercat
linuxcnc-uspace_2.9.0~pre0_amd64.deb
linuxcnc-uspace-dbgsym_2.9.0~pre0_amd64.deb
linuxcnc-uspace-dev_2.9.0~pre0_amd64.deb
linuxcnc_2.9.0~pre0_amd64.changes
linuxcnc_2.9.0~pre0_amd64.buildinfo
utworzone zostały pakiety instalacyjne linuxcnc (pogrubiona czcionka) i inne których nie wykorzystamy.

mirkos@mk-linuxcnc:~$ sudo dpkg -i linuxcnc-uspace_2.9.0~pre0_amd64.deb
[sudo] hasło użytkownika mirkos:
Wybieranie wcześniej niewybranego pakietu linuxcnc-uspace.
(Odczytywanie bazy danych ... 262550 plików i katalogów obecnie zainstalowanych.)
Przygotowywanie do rozpakowania pakietu linuxcnc-uspace_2.9.0~pre0_amd64.deb ...
Rozpakowywanie pakietu linuxcnc-uspace (1:2.9.0~pre0) ...
Konfigurowanie pakietu linuxcnc-uspace (1:2.9.0~pre0) ...
Przetwarzanie wyzwalaczy pakietu libc-bin (2.31-13+deb11u3)...
Przetwarzanie wyzwalaczy pakietu gnome-menus (3.36.0-1)...
Przetwarzanie wyzwalaczy pakietu desktop-file-utils (0.26-1)...
Przetwarzanie wyzwalaczy pakietu mailcap (3.69)...
Przetwarzanie wyzwalaczy pakietu hicolor-icon-theme (0.17-2)...
Przetwarzanie wyzwalaczy pakietu man-db (2.9.4-2)...
Przetwarzanie wyzwalaczy pakietu shared-mime-info (2.0-1)...

mirkos@mk-linuxcnc:~$ sudo apt-get --fix-broken install
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Odczyt informacji o stanie... Gotowe
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.

mirkos@mk-linuxcnc:~$ sudo dpkg -i linuxcnc-uspace-dev_2.9.0~pre0_amd64.deb
Wybieranie wcześniej niewybranego pakietu linuxcnc-uspace-dev.
(Odczytywanie bazy danych ... 266857 plików i katalogów obecnie zainstalowanych.)
Przygotowywanie do rozpakowania pakietu linuxcnc-uspace-dev_2.9.0~pre0_amd64.deb ...
Rozpakowywanie pakietu linuxcnc-uspace-dev (1:2.9.0~pre0) ...
Konfigurowanie pakietu linuxcnc-uspace-dev (1:2.9.0~pre0) ...
Przetwarzanie wyzwalaczy pakietu man-db (2.9.4-2)...

mirkos@mk-linuxcnc:~$ halcmd status
HAL locking status:
current lock value 0 (00)
HAL_LOCK_NONE - nothing is locked
HAL memory status
used/total shared memory: 400/1048576
active/recycled components: 1/0
active/recycled pins: 0/0
active/recycled parameters: 0/0
active/recycled aliases: 0/0
active/recycled signals: 0/0
active/recycled functions: 0/0
active/recycled threads: 0/0

mirkos@mk-linuxcnc:~$ linuxcnc
LINUXCNC - 2.9.0~pre0
Machine configuration directory is '/home/mirkos/linuxcnc/configs/sim.axis'
Machine configuration file is 'axis_mm.ini'
Starting LinuxCNC...
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(lib): /usr/share/linuxcnc/hallib/core_sim.hal
Found file(lib): /usr/share/linuxcnc/hallib/sim_spindle_encoder.hal
Found file(lib): /usr/share/linuxcnc/hallib/axis_manualtoolchange.hal
Found file(lib): /usr/share/linuxcnc/hallib/simulated_home.hal
link (updating variable file): Nie ma takiego pliku ani katalogu
No option 'tto_g11' in section: 'DEFAULT'
No option 'show_program' in section: 'DEFAULT'
No option 'show_rapids' in section: 'DEFAULT'
No option 'program_alpha' in section: 'DEFAULT'
No option 'show_live_plot' in section: 'DEFAULT'
No option 'show_tool' in section: 'DEFAULT'
No option 'show_extents' in section: 'DEFAULT'
No option 'show_offsets' in section: 'DEFAULT'
No option 'grid_size' in section: 'DEFAULT'
No option 'show_machine_limits' in section: 'DEFAULT'
No option 'show_machine_speed' in section: 'DEFAULT'
No option 'show_distance_to_go' in section: 'DEFAULT'
No option 'dro_large_font' in section: 'DEFAULT'
No option 'block_delete' in section: 'DEFAULT'
No option 'optional_stop' in section: 'DEFAULT'
note: MAXV max: 53.340 units/sec 3200.400 units/min
note: LJOG max: 53.340 units/sec 3200.400 units/min
note: LJOG default: 30.480 units/sec 1828.800 units/min
note: jog_order='XYZ'
note: jog_invert=set()

URUCHOMIŁ SIĘ GUI LINUXCNC

Po zamknięciu GUI LINUXCNC

task: main loop took 0.010016 seconds
task: main loop took 0.013675 seconds
task: main loop took 0.013883 seconds
task: main loop took 0.107338 seconds
task: main loop took 0.023352 seconds
task: main loop took 0.036037 seconds
task: main loop took 0.090500 seconds
task: main loop took 0.065163 seconds
task: main loop took 0.100858 seconds
task: main loop took 0.015104 seconds
Shutting down and cleaning up LinuxCNC...
task: 84431 cycles, min=0.000010, max=0.107338, avg=0.001063, 10 latency excursions (> 10x expected cycle time of 0.001000s)
Note: Using POSIX realtime


ETHERCAT MASTER

mirkos@mk-linuxcnc:~$ sudo apt install curl
mirkos@mk-linuxcnc:~$ sudo geany /etc/apt/sources.list

Wklej poniższy link do pliku:
deb [allow-insecure=yes] https://download.opensuse.org/repositor ... Debian_10/ ./
Zapisz i zamknij geany

mirkos@mk-linuxcnc:~$ sudo apt update
mirkos@mk-linuxcnc:~$ KEYRING=/usr/share/keyrings/ethercat.gpg
mirkos@mk-linuxcnc:~$ curl -fsSL https://download.opensuse.org/repositor ... elease.key | gpg --dearmor | sudo tee "$KEYRING" >/dev/
mirkos@mk-linuxcnc:~$ sudo apt-get install ethercat-dkms libethercat libethercat-dev ethercat-master

mirkos@mk-linuxcnc:~$ ip a
mirkos@mk-linuxcnc:~$ sudo geany /etc/ethercat.conf

Zapisujemy MAC adres karty sieciowej której użyjemy do sterownia urządzń po ethercat

w pliku dla urządzenia Master0 device wpisz zapisany numer MAC a dla device modules wpisz generic.

MASTER0_DEVICE="xx:aa:yy:zz:bb:cc"
DEVICE_MODULES="generic"
zapisz i zamknij geany, uruchom sterowanie ethercat.

mirkos@mk-linuxcnc:~$ sudo systemctl enable ethercat.service
Created symlink /etc/systemd/system/multi-user.target.wants/ethercat.service → /lib/systemd/system/ethercat.service.

mirkos@mk-linuxcnc:~$ sudo systemctl start ethercat.service
mirkos@mk-linuxcnc:~$ sudo systemctl status ethercat.service
● ethercat.service - EtherCAT Master Kernel Modules
Loaded: loaded (/lib/systemd/system/ethercat.service; enabled; vendor pres>
Active: active (exited) since Sun 2022-07-24 07:50:49 CEST; 30s ago
Process: 6115 ExecStart=/usr/sbin/ethercatctl start (code=exited, status=0/>
Main PID: 6115 (code=exited, status=0/SUCCESS)
CPU: 22ms

lip 24 07:50:49 mk-linuxcnc systemd[1]: Starting EtherCAT Master Kernel Modules>
lip 24 07:50:49 mk-linuxcnc systemd[1]: Finished EtherCAT Master Kernel Modules.

mirkos@mk-linuxcnc:~$ sudo chmod 666 /dev/EtherCAT0

Podłączy urządzenia do sieci ETHERCAT (modem komputera i ethercat-coupler)

mirkos@mk-linuxcnc:~$ ethercat slaves
0 0:0 PREOP + ProNet
1 0:1 PREOP + EK1100 EtherCAT-Koppler (2A E-Bus)
2 0:2 PREOP + EL1008 8K. Dig. Eingang 24V, 3ms
3 0:3 PREOP + EL2008 8K. Dig. Ausgang 24V, 0.5A
4 0:4 PREOP + EL4001 1K. Ana. Ausgang 0-10V, 12bit

Wykaz urządzeń podłączonych do mojej sieci ethercat: napęd servo estun PorNet, ethercat-coppler, 8-wejść cyfrowych, 8-wyjść cyfrowych, analogowe wyjście 0-10V 12bit.
Pliki typu xml, ini, hal i można sobie edytować w zależności od potrzeb.

ETHERCAT DRIVER

Zainstalowałem sterowniki (lcec) udostępnione przez p. S. Ittner’a ponieważ od kilku lat ich używam i zamierzam zmienić sterownie na na swojej maszynie testowej na linuxcnc 2.9.

mirkos@mk-linuxcnc:~$ sudo apt-get install expat libexpat1 libexpat1-dev
mirkos@mk-linuxcnc:~$ git clone https://github.com/grotius-cnc/linuxcnc-ethercat.git
mirkos@mk-linuxcnc:~$ cd linuxcnc-ethercat

edytować plik configure.mk – ustawić ścieżkę do pliku halcompile

mirkos@mk-linuxcnc:~/linuxcnc-ethercat$ geany configure.mk

COMP=/usr/bin/halcompile

zapisz i zamknij edytor geany

mirkos@mk-linuxcnc:~/linuxcnc-ethercat$ cd src
mirkos@mk-linuxcnc:~/linuxcnc-ethercat/src$ geany lcec_main.c

dodajemy nowy wpis #include „rtapi_mutex.h” poniżej istniejącego wpisu „rtapi_app.h”

po -j wpisujemy ilość rdzeni procesora lub samo make (w moim przypadku dual core)

mirkos@mk-linuxcnc:~/linuxcnc-ethercat/src$ make -j2
Makefile:10: uwaga: polecenia zakrywające dla obiektu 'install'
/usr/share/linuxcnc/Makefile.modinc:105: uwaga: ignoruję stare polecenia dla obiektu 'install'
COMP = /usr/bin/halcompile
MODINC = /usr/share/linuxcnc/Makefile.modinc


mirkos@mk-linuxcnc:~/linuxcnc-ethercat/src$ cd ..
mirkos@mk-linuxcnc:~/linuxcnc-ethercat$ sudo make install
[sudo] hasło użytkownika mirkos:

make[1]: Wejście do katalogu '/home/mirkos/linuxcnc-ethercat/src'
Makefile:10: uwaga: polecenia zakrywające dla obiektu 'install'
/usr/share/linuxcnc/Makefile.modinc:105: uwaga: ignoruję stare polecenia dla obiektu 'install'
mkdir -p /usr/lib/linuxcnc/modules
make[2]: Wejście do katalogu '/home/mirkos/linuxcnc-ethercat/src'
user.mk:15: uwaga: polecenia zakrywające dla obiektu 'install'
/usr/share/linuxcnc/Makefile.modinc:105: uwaga: ignoruję stare polecenia dla obiektu 'install'
gcc -o lcec_conf.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -URTAPI -U__MODULE__ -DULAPI -Os -c lcec_conf.c
gcc -o lcec_conf_util.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -URTAPI -U__MODULE__ -DULAPI -Os -c lcec_conf_util.c
gcc -o lcec_conf_icmds.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -URTAPI -U__MODULE__ -DULAPI -Os -c lcec_conf_icmds.c
gcc -o lcec_conf lcec_conf.o lcec_conf_util.o lcec_conf_icmds.o -Wl,-rpath,/lib -L/lib -llinuxcnchal -lexpat
mkdir -p /usr/bin
cp lcec_conf /usr/bin/
make[2]: Opuszczenie katalogu '/home/mirkos/linuxcnc-ethercat/src'
make[2]: Wejście do katalogu '/home/mirkos/linuxcnc-ethercat/src'
realtime.mk:47: uwaga: polecenia zakrywające dla obiektu 'install'
/usr/share/linuxcnc/Makefile.modinc:105: uwaga: ignoruję stare polecenia dla obiektu 'install'
gcc -o lcec_main.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_main.c
gcc -o lcec_class_enc.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_class_enc.c
gcc -o lcec_generic.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_generic.c
gcc -o lcec_ax5200.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_ax5200.c
gcc -o lcec_el1xxx.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el1xxx.c
gcc -o lcec_el1252.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el1252.c
gcc -o lcec_el1859.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el1859.c
gcc -o lcec_el2521.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el2521.c
gcc -o lcec_el2xxx.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el2xxx.c
gcc -o lcec_el2202.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el2202.c
gcc -o lcec_el31x2.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el31x2.c
gcc -o lcec_el31x4.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el31x4.c
gcc -o lcec_el3255.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el3255.c
gcc -o lcec_el40x1.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el40x1.c
gcc -o lcec_el40x2.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el40x2.c
gcc -o lcec_el40x8.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el40x8.c
gcc -o lcec_el41x2.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el41x2.c
gcc -o lcec_el41x4.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el41x4.c
gcc -o lcec_el5101.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el5101.c
gcc -o lcec_el5151.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el5151.c
gcc -o lcec_el5152.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el5152.c
gcc -o lcec_el6900.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el6900.c
gcc -o lcec_el1904.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el1904.c
gcc -o lcec_el2904.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el2904.c
gcc -o lcec_el7041_1000.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el7041_1000.c
gcc -o lcec_el7211.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el7211.c
gcc -o lcec_el7342.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el7342.c
gcc -o lcec_el95xx.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_el95xx.c
gcc -o lcec_em7004.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_em7004.c
gcc -o lcec_stmds5k.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_stmds5k.c
gcc -o lcec_deasda.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_deasda.c
gcc -o lcec_omrg5.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_omrg5.c
gcc -o lcec_ph3lm2rm.o -Os -g -I. -I/home/mirkos/linuxcnc-dev/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -DSIM -fPIC -Os -c lcec_ph3lm2rm.c
gcc -shared -o lcec.so lcec_main.o lcec_class_enc.o lcec_generic.o lcec_ax5200.o lcec_el1xxx.o lcec_el1252.o lcec_el1859.o lcec_el2521.o lcec_el2xxx.o lcec_el2202.o lcec_el31x2.o lcec_el31x4.o lcec_el3255.o lcec_el40x1.o lcec_el40x2.o lcec_el40x8.o lcec_el41x2.o lcec_el41x4.o lcec_el5101.o lcec_el5151.o lcec_el5152.o lcec_el6900.o lcec_el1904.o lcec_el2904.o lcec_el7041_1000.o lcec_el7211.o lcec_el7342.o lcec_el95xx.o lcec_em7004.o lcec_stmds5k.o lcec_deasda.o lcec_omrg5.o lcec_ph3lm2rm.o -Wl,-rpath,/lib -L/lib -llinuxcnchal -lethercat -lrt
mkdir -p /usr/lib/linuxcnc/modules
cp lcec.so /usr/lib/linuxcnc/modules/
make[2]: Opuszczenie katalogu '/home/mirkos/linuxcnc-ethercat/src'
make[1]: Opuszczenie katalogu '/home/mirkos/linuxcnc-ethercat/src'
make[1]: Wejście do katalogu '/home/mirkos/linuxcnc-ethercat/examples'
mkdir -p /usr/share/linuxcnc-ethercat/examples
cp -R generic-complex swm-fm45a /usr/share/linuxcnc-ethercat/examples
make[1]: Opuszczenie katalogu '/home/mirkos/linuxcnc-ethercat/examples'


mirkos@mk-linuxcnc:~/linuxcnc-ethercat$ cd

Należy skopiować do katalogu linuxcnc w katalogu domowym pliki konfiguracyjne dla sterowania systemu ethercat. W moim przypadku katalog z plikami nazywa się LCNC2.9
/home/mirkos/linuxcnc/configs/LCNC2.9
i skopiować do niego niezbędne do prawidłowej pracy systemu pliki:

mirkos@mk-linuxcnc:~$ cp ~/linuxcnc-ethercat/src/lcec_conf ~/linuxcnc/configs/LCNC2.9/
mirkos@mk-linuxcnc:~$ cp ~/linuxcnc-ethercat/src/lcec.so ~/linuxcnc-dev/rtlib/


zmieniamy nazwę oryginalnego pliku axis.ngc aby można było wrócić do niego w razie potrzeby. Ponieważ mam podłączony tylko jeden napęd servo ProNet spreparowałem plik testowy axis.ngc to testów.

mirkos@mk-linuxcnc:~$ sudo mv /usr/share/axis/images/axis.ngc /usr/share/axis/images/axis.ngc.org

kopiujemy specjalnie przygotowany plik axis.ngc

mirkos@mk-linuxcnc:~$ sudo cp /home/mirkos/linuxcnc/configs/LCNC2.9/axis.ngc /usr/share/axis/images/

nadajemy uprawnienia dla wszystkich do plików rtapi_app i linuxcnc_module_helper

mirkos@mk-linuxcnc:~$ sudo chmod 777 /usr/bin/rtapi_app
[sudo] hasło użytkownika mirkos:
mirkos@mk-linuxcnc:~$ sudo chmod 777 /usr/bin/linuxcnc_module_helper


URUCHOMIENIE LINUXCNC

mirkos@mk-linuxcnc:~$ linuxcnc /home/mirkos/linuxcnc/configs/LCNC2.9/Estun.ini
LINUXCNC - 2.9.0~pre0
Machine configuration directory is '/home/mirkos/linuxcnc/configs/LCNC2.9'
Machine configuration file is 'Estun.ini'
Starting LinuxCNC...
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX non-realtime
Found file(REL): ./Estun.hal
note: MAXV max: 1500.000 units/sec 90000.000 units/min
note: LJOG max: 1500.000 units/sec 90000.000 units/min
note: LJOG default: 1000.000 units/sec 60000.000 units/min
note: jog_order='X'
note: jog_invert=set()

działa GUI LINUXCNC

zamknięcie programu

Shutting down and cleaning up LinuxCNC...
task: 844 cycles, min=0.000010, max=0.159155, avg=0.043672, 0 latency excursions (> 10x expected cycle time of 0.050000s)
Note: Using POSIX non-realtime
mirkos@mk-linuxcnc:~$ exit


Z góry przepraszam za błędy.
Załączniki
LCNC2.9.zip
pliki testowe
(6.71 KiB) Pobrany 59 razy



Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7877
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#2

Post napisał: tuxcnc » 27 lip 2022, 19:52

Krótka uwaga dotycząca apt i dpkg.
apt-get zapisuje kopie pobranych pakietów w /var/cache/apt, zwykle nie są one do niczego potrzebne, zajmują sporo miejsca, a po jakimś czasie są przestarzałe. Dlatego apt-get należy używać tylko wtedy, gdy planujemy ponowne użycie ściągniętych pakietów, na przykład po skopiowaniu na inny komputer.
Do jednorazowego zainstalowania pakietów używa się apt bez -get.
Podobnie z dpkg, który faktycznie instaluje pakiet, ale tylko jeśli spełnione są zależności.
Lepiej używać apt z opcją czytania lokalnego pliku, czyli przykładowo

Kod: Zaznacz cały

apt install ./linuxcnc-uspace-dev_2.9.0~pre0_amd64.deb
Taki apt zainstaluje pakiet z dysku, a ewentualnie brakujące pakiety pobierze z netu.

I jeszcze jedno.

Kod: Zaznacz cały

uspace is accepted for compatibility, but ignored
To jest istotniejszy komunikat niż się wydaje.
"uspace" nie tylko zostało usunięte, ale też podanie tej opcji w pewnych szczególnych wypadkach uniemożliwia kompilację, więc nie należy tego argumentu używać.
Natomiast z no-docs jest dokładnie odwrotnie - kilka dni temu kompilowałem linuxcnc i kompilator wywalił mi się na jakimś pliku pomocy, którego nigdy nie potrzebowałem, a już na pewno nie w języku którego nie znam...
Z no-docs natomiast poszło.


Autor tematu
mik197
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 8
Rejestracja: 21 gru 2018, 14:40

Re: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#3

Post napisał: mik197 » 29 lip 2022, 19:59

Serdecznie dziękuje za garść informacji, na pewno wykorzystam w przyszłości a innym pozwolą bardziej zoptymalizować swoje instalacje. Tak jak nadmieniłem nie jestem specjalistą nt. linuxcnc i w ogóle linuxa dzięki linuxcnc zbudowałem sobie eksperymentalną maszynę na servo sterowaną po ethercat.

pozdrawiam

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7877
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#4

Post napisał: tuxcnc » 07 sie 2022, 15:03

Coś mnie wczoraj naszło na zrobienie Debiana-CNC.
Cóż, moja własna dystrybucja oparta na Xubuntu 18.04 póki co zaspokaja moje potrzeby, ale się starzeje i wcześniej czy później będzie jak z Wheezy - można używać, ale niczego się nie da zmienić...
Mój wybór padł na wersję testową Debiana 11 czyli “bookworm”, bo ma być najnowocześniej jak się da
Uważam za głupotę wykorzystywanie do sterowania obrabiarki uniwersalnej dystrybucji w stylu "każdy znajdzie coś dla siebie".
Taka dystrybucja będzie zajmowała kilkadziesiąt gigabajtów i robiła w tle tysiąc rzeczy, których użytkownik nie potrzebuje, ani nawet nie wie o ich istnieniu...
Dlatego pobrałem obraz instalacyjny debian-testing-amd64-netinst.iso z tej strony: https://cdimage.debian.org/cdimage/week ... 64/iso-cd/
Jak się nietrudno domyślić, tak mały obraz zawiera tylko podstawowe pakiety, a resztę pakietów ściąga przy instalacji z netu.
Jest jeszcze jeden haczyk - z menu rozruchowego da się wybrać instalację w trybie graficznym, która się oczywiście nie uruchomi, ale może spowodować to sporą konsternację...
Tutaj ważna uwaga, pod żadnym pozorem nie należy zaznaczać środowiska graficznego do instalacji.
Skończy się to niechybnie zainstalowaniem tony śmieci, a chcemy mieć sprawny komputer a nie śmietnik...
Dodatkowo, czym więcej zaznaczymy, tym większa szansa że instalator się wywali w czasie pracy.
Za pierwszym razem zaznaczyłem język polski, instalator już pod koniec instalacji zakomunikował że "pakiet polish jest uszkodzony", po czym wyciągnął kopyta...
Naprawdę, jeśli system uruchomi się z dysku w trybie graficznym i po angielsku, to jest to wystarczający sukces przy instalacji, a resztę da się zrobić później.
Tak więc system zainstalowałem po angielsku i w trybie tekstowym.
Tutaj dość ważna uwaga - jak ktoś liczy że instalator coś zrobi za niego, to będzie potem niemile zaskoczony.
Tym razem zrobiłem coś, czego z zasady nie robię nigdy - zamiast ręcznie spartycjonować zaznaczyłem "cały dysk" i klepnąłem "dalej". Efekt był taki, że na dysku 5 GB "sztuczna inteligencja" założyła 4 GB partycję na system i 1 GB na SWAP, chociaż przy dzisiejszych rozmiarach pamięci i dyskach SSD używanie swapa to czysty debilizm. Dodatkowo ten swap był wpisany do ramdysku i po jego usunięciu system strajkował przy uruchomieniu...

Chyba polubię Debiana:
Obrazek
Jak ktoś nie bardzo po angielsku, to jest tam napisane że jak konto roota jest nieaktywne, to przypadkowy użytkownik może narobić szkód przy użyciu "sudo". Od wielu lat to tłumaczyłem różnym kretynom, że bezmyślne klepanie "sudo" na początku każdej linii w żaden sposób nie zwiększa bezpieczeństwa systemu. W końcu chyba to wreszcie dotarło do paranoików, którzy na debianowych forach banowali za podanie sposobu na aktywowanie konta root...

Po uruchomieniu systemu w trybie tekstowym trzeba się zalogować jako root, nawet jeśli ktoś nie lubi i tego z zasady nie robi.
Po prostu nie da się zainstalować i skonfigurować systemu bez uprawnień roota, a pisanie "sudo" na początku każdej linii to czysty masochizm...

Tak więc system wstał i ręcznie zainstalowałem xfce4, bo to środowisko graficzne bardzo lubię i używam wszędzie i do wszystkiego...

Kod: Zaznacz cały

apt-get install xfce4 xfce4-terminal mc
xfce4-terminal i mc to tylko dla wygody, bez tego też system po reboocie uruchomi się już w trybie graficznym.
Jeszcze raz uwaga o apt i apt-get. Tutaj miałem do ściągnięcia kilkaset megabajtów pakietów, więc wszędzie używałem apt-get, żeby w razie czego mieć pliki w /var/cache/apt i nie ściągać ich jeszcze raz. Normalnie nie ma takiej potrzeby i należy używać apt, który ściągnięte pakiety kasuje po wykorzystaniu.
Teraz czas na spolszczenie...

Kod: Zaznacz cały

dpkg-reconfigure locales
Program zapyta i trzeba wybrać pl i zaznaczyć jako domyslny dla całego systemu - to wszystko.

Teraz trzeba wyjaśnić rzecz bardzo ważną - zależności.
Otóż inne pakiety są potrzebne do skompilowania programu, a zupełnie inne do jego uruchomiania.
Jeżeli ktoś chce używać tylko programu, to nie potrzebuje setek megabajtów pakietów developerskich.
Dlatego dobrą praktyką jest zainstalowanie dwóch systemów - jednego do pracy i drugiego do programowania.

Problem wymiany kernela rozwiązuje się wyjątkowo prosto...

Kod: Zaznacz cały

apt purge linux-image* linux-headers*
apt-get install linux-image-rt-amd64 linux-headers-rt-amd64
Pierwsza linia usuwa stare kernele, a potrafi ich być nawet kilka...
apt bardzo słusznie ostrzega, że to ryzykowne zajęcie, bo jak coś pójdzie nie tak, to system się nie uruchomi...
No ale kto nie ryzykuje, ten szampana nie pije...
Przy okazji pakietu linux-headers zostaną zainstalowane pakiety deweloperskie, które są potrzebne zarówno do kompilacji linuxcnc, jak i do kompilacji modułów przy użyciu halcompile.

Potem to już tak jak opisał autor wątku, ważne żeby zawsze ściągać najnowsze żródła.

Ja u siebie zawsze nakładam na Linuxcnc jeszcze dwie łaty - jedna mało istotna, blokuje kretyński komunikat "unexpected realtime delay", który według moich podejrzeń w większości przypadków występuje przy uruchamianiu programu i nie ma wpływu na dalszą pracę... Druga łata jest przeciwko debianowej paranoi, czyli odmowie uruchomienia programu przez użytkownika root. Nawet jeśli ktoś nie zamierza tego robić, to powinien mieć takie prawo, bo w Linuksie root jest wszechmogący i nikomu nie wolno tego zmieniać...

Na razie na maszynie wirtualnej...
Obrazek
Jeśli ktoś ma ochotę zadać głupie pytanie "po co takie kombinacje", to odpowiadam że cały system zajmuje 3,5 GB na dysku.
Może to że tylko trzy i pół gigabajta nie jest takie ważne przy dzisiejszych pojemnościach nośników danych, ale sami pomyślcie ile śmieci tam nie ma...
A jak czegoś brakuje, to zawsze można doinstalować...

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1459
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#5

Post napisał: senio » 07 sie 2022, 23:40

Skonfigurowałem sobie tego Debian 10 Buster i całkiem ładnie to wszystko lata ale jednego nie mogę ogarnąć. Za każdym uruchomieniem ilość ikon sieciowych rośnie o jedną sztukę. Jak to ogarnąć żeby się nie mnożyły bo nie mogę nigdzie znaleźć jak to zablokować ?. Reszta po zabawie konfiguracji działa naprawdę fajnie.

Obrazek


zwyczajny
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 220
Rejestracja: 25 gru 2017, 16:26

Re: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#6

Post napisał: zwyczajny » 09 sie 2022, 08:21

nm-tray robi tego psikusa.
Tutaj jest rozwiązania:
https://forum.xfce.org/viewtopic.php?id=14160
https://forums.debian.net/viewtopic.php?t=143302

ustawienia - sesja i uruchamianie - sesja - .. tu można usunąć

Dodane 36 minuty 13 sekundy:
Wyłączyć (odfajkować) w" sesja-uruchamianie" - "uchamiane programamy", w "sesja" zostawić jeden nm-tray.

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1459
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#7

Post napisał: senio » 09 sie 2022, 12:51

Tak doszedłem sam do tego i wywaliłem ten manager całkiem. Jest inny graficzny i wystarczy.


Mlechito
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 1
Posty: 1
Rejestracja: 12 cze 2015, 23:23
Lokalizacja: Suchedniów

Re: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)

#8

Post napisał: Mlechito » 23 gru 2022, 18:06

Witam.
Czy autor może udostępnić skompilowaną paczkę deb dla linuxcnc 2.9?
Mateusz

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”