Moje-boje: ASRock D1800B-ITX

LinuxCNC na BeagleBone działa, póki co, za wolno by go używać na maszynach produkcyjnych, a ponieważ Micges na forum CNC reklamował tą płytę jako nadającą się do naszych zastosowań to poleciało zamówienie.

Płyta jest, zamontowałem w obudowie dużego Della, postawiłem Debiana (chyba nie ma nad czym się rozwodzić – obrazek z sieci na USB i ognia: Ok, Ok, Enter, Enter – jak ktoś ma życzenie to opiszę)

Instalujemy machinekita.

Dodajemy kluczyk i adres pakietów – wszystko wg strony machinekit.io

sudo sh -c  
"sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 73571BB9;  
echo 'deb http://deb.dovetail-automata.com wheezy main' >  
/etc/apt/sources.list.d/machinekit.list"

aktualizujemy listę pakietów:

sudo apt-get update

instalujemy machinekita:

sudo apt-get install machinekit-xenomai

Potrzebne nam jeszcze jądro RT – szukamy co tam mamy:

sudo apt-cache search xenomai

dostajemy wyniki:

libxenomai-dev - Headers and static libs for Xenomai
linux-patch-xenomai - Linux kernel patches for Xenomai
xenomai-doc - Xenomai documentation
xenomai-runtime - Xenomai runtime utilities
libxenomai1 - Shared libraries for Xenomai
linux-headers-3.8-1-common-xenomai.x86 - Common header files for Linux 3.8-1-xenomai.x86
linux-headers-3.8-1-xenomai.x86-amd64 - Header files for Linux 3.8-1-xenomai.x86-amd64
linux-headers-xenomai.x86-amd64 - Header files for Linux xenomai.x86-amd64 configuration (meta-package)
linux-image-3.8-1-xenomai.x86-amd64 - Linux 3.8 for 64-bit PCs, Xenomai x86
linux-image-xenomai.x86-amd64 - Linux for 64-bit PCs (meta-package), Xenomai x86
machinekit-xenomai - PC based motion controller for real-time Linux
machinekit-xenomai-kernel-3.8-1-xenomai.x86-amd64 - PC based motion controller for real-time Linux
machinekit-xenomai-kernel-3.8-1mk-xenomai.x86-amd64 - PC based motion controller for real-time Linux
xenomai-kernel-source - Source for Xenomai kernel-space support

Od razu widać które to jądro więc instalujemy:

sudo apt-get install machinekit-xenomai-kernel-3.8.1-xenomai.x86-amd64

Oczywiście w te pędy klikamy CNC->LinuxCNC w menu i…

nie działa 😀

halcmd: hal_init() failed: -22
NOTE: 'rtapi' module must be loaded

Ale na samej górze jest linijka:

this user is not member of group xenomai
please 'sudo adduser <username> xenomai', logout and login again

No to się słuchamy:

sudo adduser cnc xenomai

Oczywiście zamiast 'cnc’ podajemy nazwę swojego użytkownika. Jeżeli to świeża instalacja to wynik może być tylko jeden:

cnc nie występuje w pliku sudoers. Ten incydent zostanie zgłoszony.

Nie ma rady – wchodzimy na roota i robimy co trzeba:

cnc@maszyna:~$ su
Hasło:
root@maszyna:/home/cnc# adduser cnc sudo

możemy tez od razu dodać naszego usera do grupy xenomai:

adduser cnc xenomai

Logout. Login.

Oczywiście dalej nie działa 😀

Potrzebny w jądrze moduł 'ppdev’ więc klepiemy:

sudo modprobe ppdev

żeby zmiana była na stałe powinniśmy jako root dodać linię 'ppdev’ na końcu pliku '/etc/modules’.

No, teraz LinuxCNC się powinien uruchomić. Ale ekran najprawdopodobniej będzie wyglądał tak:

zrzut_asrock

czyli jesteśmy prawie w domu. Jeszcze tylko prosta zmiana na programowy OpenGL:

sudo apt-get install libgl1-mesa-swx11

I wreszcie możemy się cieszyć działającym LinuxCNC. 😀

Teraz to już gilgotki – Dropbox, podmontowanie NASa firmowego, Emacs.

Aaa, jeszcze dwie ważne sprawy – desktop i automatyczne logowanie.

1. Desktop

Ponieważ Gnome się zamieniło w jakieś nieużywalne nowoinformatyczne badziewie to trzeba się ratować przed osiwieniem. Próbowałem jakieś lekkie managery okien ale człowiek się rozpieścił i nie da się tego używać 😀

Jedyny ratunek w Mate-desktop.

Czyli – włączamy repozytoria backports dodając linię:

deb http://http.debian.net/debian wheezy-backports main

do /etc/apt/sources.list

Instalujemy MATE:

sudo apt-get update
sudo apt-get install mate-desktop-environment

2. Automatyczny login

W pliku /etc/gdm3/daemon.conf kasujemy komentarze przed dwiema liniami i podajemy nazwę naszego usera:

[daemon]
# Enabling automatic login
  AutomaticLoginEnable = true
  AutomaticLogin = cnc

Dobra, maszyna odpala się, automatycznie loguje się user cnc, od razu startuje LinuxCNC.

Teraz to już normalna ścieżka:

 

 

Gotowe – podpinamy do sterowania i do roboty 😀