Znaleziono 2 wyniki

autor: tuxcnc
07 sie 2022, 15:03
Forum: LinuxCNC (dawniej EMC2)
Temat: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)
Odpowiedzi: 7
Odsłony: 3009

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

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ć...
autor: tuxcnc
27 lip 2022, 19:52
Forum: LinuxCNC (dawniej EMC2)
Temat: Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)
Odpowiedzi: 7
Odsłony: 3009

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

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.

Wróć do „Krok po kroku - Instalacja Debian 11 + Linuxcnc 2.9.0~pre + ethercat-master + etercat-driver (lcec)”