Apporter des modifications dans Thinux
Nos gammes de produits Neo et Micro sont livrées avec notre système d'exploitation Thinux Embedded Linux préinstallé.
Thinux est basé sur Ubuntu Linux. Au moment de la rédaction, il est basé sur Ubuntu 20.04.4 LTS sur le Micro 5 et Ubuntu 22.04.1 sur le Micro 6. Cependant, Thinux diffère d'Ubuntu de manière significative à certains égards. Premièrement, nous incluons des pilotes spécifiques à notre matériel qui ne sont pas disponibles dans les dépôts upstream. Nous incluons également des services système qui protègent le matériel contre les dommages. Cela peut sembler inhabituel aux personnes habituées aux PC avec un BIOS. Les processeurs Intel et AMD disposent d'une protection thermique intégrée : ils réduisent leur fréquence d'horloge et désactivent certains cœurs lorsqu'ils approchent de la surchauffe. Dans le pire des cas, le processeur et le BIOS éteignent brusquement l'ordinateur pour éviter tout dommage. Les processeurs ARM ne fournissent pas encore ce niveau de protection. Le chargeur d'amorçage U-Boot utilisé sur les systèmes ARM ne reste pas en mémoire après avoir transféré le contrôle à Linux, il ne protège donc pas les composants matériels contre les dommages thermiques ou autres en arrière-plan.
Pour cette raison, lorsque les clients nous demandent de désactiver ou de remplacer Thinux sur nos produits basés sur ARM, nous les informons que cela annulera leur garantie matérielle. Cette politique est similaire à celle des fabricants de téléphones Android pour le déverrouillage des chargeurs d'amorçage. Pour obtenir le mot de passe root du système, vous devez nous appeler ou nous écrire. Si votre appareil est basé sur ARM, nous devons le marquer comme garantie annulée avant de vous donner le mot de passe.
La principale différence entre Thinux et Ubuntu est que Thinux monte son système de fichiers racine en lecture seule. Vous ne pouvez donc pas utiliser apt et d'autres commandes pour apporter des modifications au système d'exploitation. Si vous avez le mot de passe root, vous pouvez apporter des modifications à /etc et /var. Les processus qui s'exécutent avec les privilèges root apportent également des modifications à /etc et /var, même lorsque l'utilisateur n'a pas le mot de passe root. Thinux stocke ces modifications dans la partition /overlay, et non dans la partition /. Vous pouvez en savoir plus sur le système de fichiers overlay sur kernel.org.
Pour apporter des modifications à /, vous devez d'abord remonter le système de fichiers / en mode lecture-écriture. Exécutez les commandes suivantes dans un terminal :
su - # enter the root password when prompted
umount -l /etc
umount -l /var
mount -o rw,remount /
Vous pouvez maintenant apporter des modifications à /. Lorsque vous avez terminé, redémarrez le système pour remettre le système de fichiers racine en mode lecture seule (ro).
Si vous ne souhaitez plus utiliser la fonctionnalité de racine en lecture seule de Thinux, vous pouvez la désactiver définitivement en apportant les modifications suivantes à /etc/fstab. Tout d'abord, démontez paresseusement /etc comme indiqué dans le bloc de code précédent. Un fichier /etc/fstab typique ressemble à ceci :
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
Modifiez-le pour qu'il ressemble à ceci :
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
Nous utilisons un système de fichiers racine en lecture seule pour les raisons suivantes. Plus de 99 % de nos clients n'ont pas besoin d'installer de nouveaux logiciels sur leurs ordinateurs. Ils utilisent leurs ordinateurs comme clients légers ou ordinateurs cloud, et effectuent la plupart de leur travail dans le client RDP ou le navigateur web. Les logiciels préinstallés, tels que LibreOffice, suffisent à leur travail. Au lieu de mettre à jour des paquets individuels avec apt, nous mettons à niveau l'ensemble du système de fichiers racine en une seule fois, sous forme d'une seule image binaire. D'autres systèmes d'exploitation embarqués, tels qu'Android et iOS, se mettent à jour de manière similaire (bien qu'ils disposent d'applications et que Thinux n'en ait pas). Cela nous permet de tester chaque mise à jour de manière approfondie sur notre propre matériel avant de la publier, et de garantir que toutes les modifications et applications mises à jour dans la mise à jour fonctionnent bien ensemble. Cela empêche également l'ordinateur d'un utilisateur de devenir inutilisable lorsqu'une mise à niveau apt ou dpkg est interrompue, car notre système de mise à jour gère les coupures d'alimentation brusques en toute sécurité.