Apportare modifiche a Thinux
Le nostre gamme di prodotti Neo e Micro vengono fornite con il nostro sistema operativo Thinux Embedded Linux preinstallato.
Thinux è basato su Ubuntu Linux. Al momento della stesura, è basato su Ubuntu 20.04.4 LTS sul Micro 5 e su Ubuntu 22.04.1 sul Micro 6. Tuttavia, Thinux differisce da Ubuntu in alcuni modi significativi. Innanzitutto, includiamo driver specifici per il nostro hardware che non sono disponibili nei repository upstream. Includiamo anche servizi di sistema che proteggono l'hardware da danni. Questo può sembrare insolito a chi è abituato ai PC con un BIOS. I processori Intel e AMD hanno una protezione termica integrata: riducono la velocità di clock e spengono alcuni core quando si avvicinano al surriscaldamento. Nel caso peggiore, il processore e il BIOS spengono bruscamente il computer per prevenire danni. I processori ARM non forniscono ancora questo livello di protezione. Il bootloader U-Boot utilizzato sui sistemi ARM non rimane in memoria dopo aver trasferito il controllo a Linux, quindi non protegge i componenti hardware da danni termici o di altro tipo in background.
Per questo motivo, quando i clienti ci chiedono di disabilitare o sostituire Thinux sui nostri prodotti basati su ARM, li informiamo che ciò invaliderà la garanzia hardware. Questa politica è simile a quella dei produttori di telefoni Android per lo sblocco dei bootloader. Per ottenere la password di root del sistema, è necessario chiamarci o scriverci. Se il tuo dispositivo è basato su ARM, dobbiamo contrassegnarlo come garanzia annullata prima di fornirti la password.
La differenza principale tra Thinux e Ubuntu è che Thinux monta il suo filesystem root in sola lettura. Non puoi quindi usare apt e altri comandi per apportare modifiche al sistema operativo. Se hai la password di root, puoi apportare modifiche a /etc e /var. I processi che vengono eseguiti con privilegi di root apportano anch'essi modifiche a /etc e /var, anche quando l'utente non ha la password di root. Thinux memorizza queste modifiche nella partizione /overlay, non nella partizione /. Puoi leggere ulteriori informazioni sul filesystem overlay su kernel.org.
Per apportare modifiche a /, devi prima rimontare il filesystem / in modalità lettura-scrittura. Esegui i seguenti comandi in un terminale:
su - # inserisci la password di root quando richiesto
umount -l /etc
umount -l /var
mount -o rw,remount /
Ora puoi apportare modifiche a /. Quando hai finito, riavvia il sistema per riportare il filesystem root in modalità sola lettura (ro).
Se non vuoi più utilizzare la funzione di root in sola lettura di Thinux, puoi disattivarla permanentemente apportando le seguenti modifiche a /etc/fstab. Per prima cosa, smonta in modo lazy /etc come mostrato nel blocco di codice precedente. Un tipico file /etc/fstab appare così:
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
Modificalo in modo che appaia così:
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
Utilizziamo un filesystem root in sola lettura per i seguenti motivi. Più del 99% dei nostri clienti non ha bisogno di installare nuovo software sui propri computer. Usano i loro computer come thin client o cloud computer, e svolgono la maggior parte del loro lavoro nel client RDP o nel browser web. Il software preinstallato, come LibreOffice, è sufficiente per il loro lavoro. Invece di aggiornare i singoli pacchetti con apt, aggiorniamo l'intero filesystem root in una sola volta, come un'unica immagine binaria. Altri sistemi operativi embedded, come Android e iOS, si aggiornano in modo simile (sebbene abbiano app e Thinux no). Questo ci permette di testare accuratamente ogni aggiornamento sul nostro hardware prima di rilasciarlo, e di garantire che tutte le modifiche e le applicazioni aggiornate nell'aggiornamento funzionino bene insieme. Impedisce anche che il computer di un utente diventi inutilizzabile quando un aggiornamento apt o dpkg viene interrotto, poiché il nostro sistema di aggiornamento gestisce in modo sicuro le interruzioni improvvise di alimentazione.