Updating LinuxCNC to a new minor release (ie to a new version in the same stable series, for example from 2.9.7 to 2.9.8) is an automatic process if your PC is connected to the internet. You will see an update prompt after a minor release along with other software updates. If you don’t have an internet connection to your PC see Updating without Network.

1. Upgrade auf die neue Version

Dieser Abschnitt beschreibt, wie Sie LinuxCNC von Version 2.8.x auf eine Version 2.9.y aktualisieren. Es wird davon ausgegangen, dass Sie eine bestehende 2.8 Installation haben, die Sie aktualisieren möchten.

Um LinuxCNC von einer Version älter als 2.8 zu aktualisieren, müssen Sie zuerst upgrade your old install to 2.8, dann folgen Sie diesen Anweisungen, um auf die neue Version zu aktualisieren.

Wenn Sie keine alte Version von LinuxCNC zu aktualisieren haben, dann sind Sie am besten aus machen eine frische Installation der neuen Version, wie im Abschnitt LinuxCNC erhalten beschrieben.

Furthermore, if you are running Ubuntu Precise, Debian Wheezy or Debian Buster it is well worth considering making a backup of the "linuxcnc" directory on removable media and performing a clean install of a newer OS and LinuxCNC version as these releases were EOL in 2017, 2018 and 2022 respectively. If you are running on Ubuntu Lucid then you will have to do this, as Lucid is no longer supported by LinuxCNC (it was EOL in 2013).

Um größere Versionen wie 2.8 auf 2.9 zu aktualisieren, wenn Sie eine Netzwerkverbindung an der Maschine haben, müssen Sie die alten linuxcnc.org Quellen des Paketmanagers apt in der Datei /etc/apt/sources.list deaktivieren und fügen Sie eine neue linuxcnc.org apt Quelle für 2.9 hinzu, um dann mit apt die LinuxCNC-Installation zu aktualisieren.

Die Details hängen von der Plattform ab, auf der Sie arbeiten. Öffnen Sie ein terminal und geben Sie lsb_release -ic ein, um diese Informationen herauszufinden:

lsb_release -ic
Distributor ID: Debian
Codename:       Trixie

You should be running on Debian Bullseye, Bookworm or Trixie or Ubuntu 20.04 "Focal Fossa" or newer. LinuxCNC 2.9.y will not run on older distributions than these.

Sie müssen auch prüfen, welcher Echtzeit-Kernel verwendet wird:

uname -r
6.1.0-10-rt-amd64

Wenn Sie (wie oben) -rt- im Kernel-Namen sehen, dann laufen Sie mit dem preempt-rt Kernel und sollten die "uspace" Version von LinuxCNC installieren. Sie sollten auch uspace für "sim"-Konfigurationen auf Nicht-Echtzeit-Kerneln installieren.

Wenn Sie -rtai- im Kernel-Namen sehen, dann laufen Sie mit RTAI-Echtzeit. Siehe unten für die LinuxCNC Version zu installieren. RTAI Pakete sind derzeit für Bookworm und Buster verfügbar.

1.1. Apt Sources Konfiguration

  • Öffnen Sie das Fenster Software-Quellen. Die Vorgehensweise ist auf den drei unterstützten Plattformen leicht unterschiedlich:

    • Debian:

      • Klicken Sie auf Anwendungsmenü, dann System, dann Synaptic Package Manager.

      • Klicken Sie in Synaptic auf das Menü Einstellungen und dann auf Repositories, um das Fenster Softwarequellen zu öffnen.

    • Ubuntu Precise:

      • Klicken Sie auf das Symbol "Dash Home" oben links.

      • Geben Sie in das Feld "Suche" den Begriff "Software" ein und klicken Sie dann auf das Symbol "Ubuntu Software Center".

      • Klicken Sie im Ubuntu Software Center-Fenster auf das Menü "Bearbeiten" und dann auf "Softwarequellen…", um das Fenster "Softwarequellen" zu öffnen.

    • Ubuntu Lucid:

      • Klicken Sie auf das Menü "System", dann auf "Verwaltung" und dann auf "Synaptic Package Manager".

      • Klicken Sie in Synaptic auf das Menü Einstellungen und dann auf Repositories, um das Fenster Softwarequellen zu öffnen.

  • Wählen Sie im Fenster "Software-Quellen" die Registerkarte "Andere Software".

  • Löschen oder deaktivieren Sie alle alten linuxcnc.org-Einträge (lassen Sie alle nicht-linuxcnc.org-Zeilen unverändert).

  • Klicken Sie auf die Schaltfläche "Hinzufügen" und fügen Sie eine neue apt-Zeile hinzu. Die Zeile wird auf den verschiedenen Plattformen etwas anders aussehen:

Tabelle 1. Eine tabuläre Übersicht über Varianten des Betriebssystems und die entsprechende Konfiguration des Projektarchivs. Die Konfiguration kann in der GUI des Paketmanagers oder in der Datei /etc/apt/sources.list spezifiziert werden.
Betriebssystem / Echtzeitversion Repository

Debian Bullseye - preempt

deb https://linuxcnc.org bullseye base 2.9-uspace

Debian Bookworm - preempt

deb https://linuxcnc.org bookworm base 2.9-uspace

Debian Bookworm - RTAI

deb https://linuxcnc.org bookworm base 2.9-rt

Debian Trixie - preempt

deb https://linuxcnc.org trixie base 2.9-uspace

Debian Trixie - RTAI

deb https://linuxcnc.org trixie base 2.9-rt

Festlegen von apt-Quellen
Abbildung 1. Abbildung mit einem Screenshot der Repository Einstellung für den Synaptic Paket Manager.
  • Klicken Sie im Fenster "Softwarequellen" auf "Quelle hinzufügen" und dann auf "Schließen". Wenn ein Fenster angezeigt wird, das Sie darüber informiert, dass die Informationen über die verfügbare Software veraltet sind, klicken Sie auf die Schaltfläche "Neu laden".

1.2. Upgrade auf die neue Version

Da Ihr Computer nun weiß, wo er die neue Version der Software erhält, müssen wir sie nun installieren.

Der Prozess unterscheidet sich wiederum je nach Plattform.

1.2.1. Debian Bullseye, Bookworm and Trixie

Debian verwendet den Synaptic Package Manager.

  • Öffnen Sie Synaptic gemäß den Anweisungen in Festlegen der apt sources oben.

  • Klicken Sie auf die Schaltfläche "Neu laden".

  • Verwenden Sie die Suchfunktion, um nach linuxcnc zu suchen.

  • Das Paket heißt „linuxcnc“ für RTAI-Kernel und „linuxcnc-uspace“ für preempt-rt.

  • Klicken Sie auf das Kontrollkästchen, um die neuen Pakete linuxcnc und linuxcnc-doc-* für ein Upgrade zu markieren. Der Paketmanager kann eine Reihe zusätzlicher Pakete auswählen, die installiert werden sollen, um die Abhängigkeiten zu erfüllen, die das neue linuxcnc-Paket hat.

  • Klicken Sie auf die Schaltfläche "Anwenden", und lassen Sie Ihren Computer das neue Paket installieren. Das alte linuxcnc-Paket wird automatisch auf das neue Paket aktualisiert.

1.3. Ubuntu

  • Klicken Sie auf das Symbol "Dash Home" oben links.

  • Geben Sie in das Feld "Suche" den Begriff "Update" ein und klicken Sie dann auf das Symbol "Update Manager".

  • Klicken Sie auf die Schaltfläche "Prüfen", um die Liste der verfügbaren Pakete aufzurufen.

  • Klicken Sie auf die Schaltfläche "Updates installieren", um die neuen Versionen aller Pakete zu installieren.

2. Aktualisieren ohne Netzwerk

Um ohne Netzwerkverbindung zu aktualisieren, müssen Sie die .deb-Datei herunterladen und mit dpkg installieren. Die .debs können unter https://linuxcnc.org/dists/ gefunden werden.

Sie müssen im obigen Link nach unten gehen, um das richtige Debian Paket (.deb Datei) für Ihre Installation zu finden. Öffnen Sie ein Terminal und geben Sie "lsb_release -ic" ein, um den Versions-Bezeichner Ihres Betriebssystems zu finden.

> lsb_release -ic
Distributor ID: Debian
Codename:       trixie

Pick the OS from the list then pick the major version you want like 2.9-rt for RTAI or 2.9-uspace for preempt-rt.

Next pick the type of computer you have: binary-amd64 for 64-bit PC or binary-arm64 (64bit) for Raspberry Pi.

Next pick the version you want from the bottom of the list like linuxcnc-uspace_2.9.8_amd64.deb (choose the latest by date). Download the deb and copy it to your home directory. You can rename the file to something a bit shorter with the file manager like linuxcnc_2.9.8.deb then open a terminal and install it with the package manager with this command:

sudo dpkg -i linuxcnc_2.9.8.deb

3. Aktualisieren von Konfigurationsdateien für 2.9

3.1. Strikterer Umgang mit austauschbaren Interpretern

Wenn Sie nur normalen G-Code ausführen und nicht wissen, was ein austauschbarer Interpreter ist, wirkt sich dieser Abschnitt nicht auf Sie aus.

Ein selten genutztes Merkmal von LinuxCNC ist die Unterstützung für steckbare Interpreter, die durch die undokumentierte [TASK]INTERPRETER INI-Einstellung gesteuert werden.

Versionen von LinuxCNC vor 2.9.0 behandelten eine falsche [TASK]INTERPRETER-Einstellung, indem sie automatisch auf die Verwendung des Standard-G-Code-Interpreters zurückgriffen.

Seit 2.9.0 führt ein falscher [TASK]INTERPRETER-Wert dazu, dass LinuxCNC den Start verweigert. Beheben Sie diese Bedingung, indem Sie die Einstellung [TASK]INTERPRETER aus Ihrer INI-Datei löschen, so dass LinuxCNC den Standard-G-Code-Interpreter verwendet.

3.2. Canterp

Wenn Sie nur normalen G-Code ausführen und den austauschbaren Interpreter "canterp" nicht verwenden, hat dieser Abschnitt keine Auswirkungen auf Sie.

Für den extrem unwahrscheinlichen Fall, dass Sie canterp verwenden, sollten Sie wissen, dass das Modul von /usr/lib/libcanterp.so nach /usr/lib/linuxcnc/canterp.so verschoben wurde und die Einstellung [TASK]INTERPRETER entsprechend von libcanterp.so nach canterp.so geändert werden muss.

3.3. Spindel-Einschränkungen in der INI

Es ist nun möglich, in den [SPINDLE]-Abschnitt der INI-Datei zu konfigurieren

MAX_FORWARD_VELOCITY = 20000 The maximum spindle speed (in rpm)

MIN_FORWARD_VELOCITY = 3000 The minimum spindle speed (in rpm)

MAX_REVERSE_VELOCITY = 20000 Diese Einstellung wird standardmäßig auf MAX_FORWARD_VELOCITY gesetzt sofern nicht explizit angegeben.

MIN_REVERSE_VELOCITY = 3000` This setting is equivalent to MIN_FORWARD_VELOCITY but for reverse spindle rotation. It will default to the MIN_FORWARD_VELOCITY if omitted.

INCREMENT = 200 Sets the step size for spindle speed increment / decrement commands. This can have a different value for each spindle. This setting is effective with AXIS and Touchy but note that some control screens may handle things differently.

HOME_SEARCH_VELOCITY = 100 - Wird akzeptiert, aber ist derzeit ohne Funktion

HOME_SEQUENCE = 0 - Wird akzeptiert, ist aber derzeit ohne Funktion

4. Updating Configuration Files for 2.10.y

Touchy: Die Touchy-MACRO-Einträge gehören nun in den Abschnitt [MACROS] der INI anstelle von [TOUCHY]. Dies ist Teil der Vereinheitlichung der INI-Einstellungen zwischen den GUIs.

5. Neue HAL-Komponenten

5.1. Nicht-Echtzeit

mdro mqtt-publisher pi500_vfd pmx485-test qtplasmac-cfg2prefs qtplasmac-materials qtplasmac-plasmac2qt qtplasmac-setup sim-torch svd-ps_vfd

5.2. Echtzeit

anglejog div2 enum filter_kalman flipflop homecomp limit_axis mesa_uart millturn scaled_s32_sums tof ton

6. Neue Treiber

Ein Framework wurde eingeführt zur Steuerung von ModBus-Geräten mit den seriellen Ports auf vielen Mesa-Karten. http://linuxcnc.org/docs/2.9/html/drivers/mesa_modbus.html

Ein neuer GPIO-Treiber für alle GPIO, der von der gpiod-Bibliothek unterstützt wird, ist jetzt enthalten: http://linuxcnc.org/docs/2.9/html/drivers/hal_gpio.html