Änderungen in Thinux vornehmen

![Image](/s/image/making-changes-in-thinux/making-changes-in-thinux.webp)

Unsere Produktreihen Neo und Micro werden mit unserem Embedded-Linux-Betriebssystem Thinux vorinstalliert geliefert.

Thinux basiert auf Ubuntu Linux. Zum Zeitpunkt der Erstellung basiert es auf Ubuntu 20.04.4 LTS beim Micro 5 und Ubuntu 22.04.1 beim Micro 6. Thinux unterscheidet sich jedoch in einigen wesentlichen Punkten von Ubuntu. Erstens enthalten wir Treiber, die spezifisch für unsere Hardware sind und in den Upstream-Repositories nicht verfügbar sind. Wir enthalten auch Systemdienste, die die Hardware vor Schäden schützen. Dies mag für Menschen, die an PCs mit einem BIOS gewöhnt sind, ungewöhnlich erscheinen. Intel- und AMD-Prozessoren verfügen über einen integrierten Thermoschutz: Sie reduzieren ihre Taktrate und schalten einige Kerne ab, wenn sie sich der Überhitzung nähern. Im schlimmsten Fall schalten der Prozessor und das BIOS den Computer abrupt aus, um Schäden zu verhindern. ARM-Prozessoren bieten diesen Schutzgrad noch nicht. Der auf ARM-Systemen verwendete U-Boot-Bootloader bleibt nach der Übergabe der Kontrolle an Linux nicht im Speicher, sodass er Hardwarekomponenten im Hintergrund nicht vor thermischen oder anderen Schäden schützt.

Aus diesem Grund informieren wir Kunden, die uns bitten, Thinux auf unseren ARM-basierten Produkten zu deaktivieren oder zu ersetzen, dass dies ihre Hardwaregarantie ungültig macht. Diese Richtlinie ähnelt der Richtlinie von Android-Telefonherstellern zum Entsperren von Bootloadern. Um das Root-Passwort des Systems zu erhalten, müssen Sie uns anrufen oder schreiben. Wenn Ihr Gerät ARM-basiert ist, müssen wir es als garantieungültig markieren, bevor wir Ihnen das Passwort geben.

Der Hauptunterschied zwischen Thinux und Ubuntu besteht darin, dass Thinux sein Root-Dateisystem schreibgeschützt einbindet. Sie können daher apt und andere Befehle nicht verwenden, um Änderungen am Betriebssystem vorzunehmen. Wenn Sie das Root-Passwort haben, können Sie Änderungen an /etc und /var vornehmen. Prozesse, die mit Root-Rechten ausgeführt werden, nehmen ebenfalls Änderungen an /etc und /var vor, auch wenn der Benutzer nicht über das Root-Passwort verfügt. Thinux speichert diese Änderungen in der /overlay-Partition, nicht in der /-Partition. Mehr über das Overlay-Dateisystem können Sie auf kernel.org lesen.

Um Änderungen an / vorzunehmen, müssen Sie zunächst das /-Dateisystem im Lese-Schreib-Modus neu einbinden. Führen Sie die folgenden Befehle in einem Terminal aus:

su - # enter the root password when prompted
umount -l /etc
umount -l /var
mount -o rw,remount /

Sie können jetzt Änderungen an / vornehmen. Wenn Sie fertig sind, starten Sie das System neu, um das Root-Dateisystem wieder in den schreibgeschützten (ro) Modus zu versetzen.

Wenn Sie die schreibgeschützte Root-Funktion von Thinux nicht mehr verwenden möchten, können Sie sie dauerhaft deaktivieren, indem Sie die folgenden Änderungen an /etc/fstab vornehmen. Heben Sie zunächst die Einbindung von /etc verzögert auf, wie im vorherigen Codeblock gezeigt. Eine typische /etc/fstab-Datei sieht so aus:

proc                 /proc       proc    defaults                                           0    0
LABEL=thinux         /           ext4    defaults,ro,noatime                                0    1
LABEL=data           /overlay    data    defaults,noatime                                   0    2
mount_over           /etc        over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
mount_over           /var        over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
mount_over           /home       over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
mount_over           /tmp        over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
/overlay/swapfile    swap        swap    pri=-1,x-systemd.requires-mounts-for=/overlay      0    0

Ändern Sie sie so, dass sie so aussieht:

proc                 /proc       proc    defaults                                           0    0
LABEL=thinux         /           ext4    defaults,rw,noatime                                0    1
LABEL=data           /overlay    data    defaults,noatime                                   0    2
#mount_over          /etc        over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
#mount_over          /var        over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
mount_over           /home       over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
mount_over           /tmp        over    defaults,x-systemd.requires-mounts-for=/overlay    0    0
/overlay/swapfile    swap        swap    pri=-1,x-systemd.requires-mounts-for=/overlay      0    0

Wir verwenden ein schreibgeschütztes Root-Dateisystem aus den folgenden Gründen. Mehr als 99 % unserer Kunden müssen keine neue Software auf ihren Computern installieren. Sie verwenden ihre Computer als Thin Clients oder Cloud-Computer und erledigen die meiste Arbeit im RDP-Client oder im Webbrowser. Die vorinstallierte Software wie LibreOffice reicht für ihre Arbeit aus. Anstatt einzelne Pakete mit apt zu aktualisieren, aktualisieren wir das gesamte Root-Dateisystem auf einmal als einzelnes Binärabbild. Andere Embedded-Betriebssysteme wie Android und iOS aktualisieren auf ähnliche Weise (obwohl sie Apps haben und Thinux nicht). Dies ermöglicht es uns, jedes Update gründlich auf unserer eigenen Hardware zu testen, bevor wir es veröffentlichen, und sicherzustellen, dass alle Änderungen und aktualisierten Anwendungen im Update gut zusammenarbeiten. Es verhindert auch, dass der Computer eines Benutzers unbrauchbar wird, wenn ein apt- oder dpkg-Upgrade unterbrochen wird, da unser Update-System abrupte Stromausfälle sicher handhabt.