La
semaine dernière, nous te faisions découvrir en avant-première le nouvel OS
(système d'exploitation) TI-Nspire 3.6. En effet, ses fichiers ont bien été trouvés sur les serveurs publics de TI même si l'OS ne semble toujours pas sorti à ce jour puisqu'aucune page du site ne les référence.
Nous t'annoncions donc que ce nouvel OS bloquait désormais l'utilisation de notre outil TNOC. Prenons le temps dans cet article d'expliquer ce que c'était.
Les fichiers d'OS pour TI-Nspire sont tout simplement des archives
(dossier compressé) au format PKZIP, et qui contiennent :
- l'image de l'OS
- une image de Boot2 (code de démarrage - optionnelle)
- une archive de fichiers d'exemples (optionnelle)
Or, l'image de Boot2 ne sert que pour la mise à jour du Boot2 de la calculatrice, ce qui est une opération exceptionnelle, et qui de plus n'a lieu au maximum qu'une seule fois.
Les fichiers d'exemples sont ceux qui réapparaissent sans arrêt dans le dossier d'exemples de la calculatrice même quand on le supprime, et que personne ne va regarder à part peut-être les nouveaux utilisateurs les tout premiers jours. Rajoutons en prime qu'il en existe une version pour chacune des 15 langues supportées par la calculatrice, ce qui devient vite énorme !
Or, le fichier d'OS est enregistré tel quel sur la calculatrice lors de son installation, c'est-à-dire avec ces ressources inutiles qui vont servir de 0 à 1 fois. Un gros gaspillage de place, car ces ressources ne sont pas minces !
Observons l'historique des tailles d'OS pour les TI-Nspire monochromes.
- des versions 1.1 à 2.1, l'image d'OS grossit régulièrement et double ou triple sa taille,
- à partir de la version 1.4, TI inclut les Boot2 et exemples dans le fichier d'OS,
- de la version 1.4 à la version 2.1, les exemples augmentent rapidement de taille pour occuper jusqu'à 2Mo !
Rappelons que les TI-Nspire monochromes ont une puce NAND de 32Mo dont le partitionnage n'offre que 27,8Mo pour le système de fichiers, la moitié faisant donc 13,9Mo. Or, lors d'une mise à jour du système TI-Nspire, l'ancien système n'est effacé qu'une fois que le nouveau système a été reçu et validé. Pendant la mise à jour, ce sont donc deux systèmes d'exploitation TI-Nspire qui doivent pouvoir rentrer sur la calculatrice en plus de vos documents - ce qui devient évidemment difficile, voire impossible lorsque la taille de l'OS s'approche ou dépasse même la moitié de la capacité de stockage, comme ici avec les OS 2.1. Ceux qui effectuaient la mise à jour vers un OS 2.1 à partir d'un OS 2.0 ont rencontré beaucoup de difficultés...
Rajoutons également que la version non-CAS de l'OS 2.1 était tellement grosse que la version 1.1 du Boot2 était incapable de la charger correctement, la calculatrice se figeant sur l'écran de démarrage après la mise à jour.
Suite à ces problèmes, TI prend enfin plusieurs mesures pour l'OS 3.0.1:
- optimisation de la taille de l'image d'OS,
- retrait complet des exemples pour la version 3.0.1 non-CAS,
- mais bizarrement, des exemples encore plus gros pour la version 3.0.1 CAS.
Depuis :
- à partir de la version 3.0.2, la taille des exemples est revue à la baisse et redevient raisonnable sur la version CAS,
- à partir de la version 3.2.3, les exemples semblent définitivement retirés - puisque la taille de l'OS continuait de grossir et que l'on se rapprochait à nouveau dangereusement de la limite des 50% de capacité.
Que vient faire notre outil TNOC là-dedans? Il te permettait d'alléger le fichier d'OS, en en retirant les ressources optionnelles inutiles
(Boot2 et exemples), t'économisant ainsi jusqu'à 5Mo sur ta calculatrice selon les versions !
Hélas, dans son virage sécuritaire amorcé depuis plusieurs mois, Texas Instruments vient de bloquer cet outil dans son nouvel OS 3.6, en y rajoutant une liste signée des fichiers de l'archive. Si un seul de ces fichiers est manquant, ceci incluant le Boot2 ou les exemples, l'OS s'autodétruit une fois installé.
Rappelons pourtant que TNOC a permis de limiter le nombre de retours de calculatrices lors de la mise à jour vers l'OS 3.0.1, ce dernier ayant le défaut de détruire parfois le Boot2 si son image n'était pas retirée du fichier d'OS, laissant alors la calculatrice dans un état inutilisable, et irréparable sans matériel spécialisé...
TI semble de plus en plus frapper à l'aveugle et fermer systématiquement toute porte sans réfléchir, suite à l'exploit Nlaunch sorti l'année dernière et basé sur le Boot2 1.4
(ou 3.1 pour les TI-Nspire CX), qui permettait d'avoir plusieurs OS sur sa calculatrice, de lancer Linux, mais aussi
(hélas) de lancer un OS CAS sur une calculatrice non-CAS.
Avec TNOC, certaines personnes
(sans aucun doute très minoritaires) auraient pu installer l'OS 3.6 en se dispensant de la mise à jour vers le Boot2 3.0.1
(ou 3.2.4 pour les TI-Nspire CX) qui ne comporte plus la même faille.
Jetons maintenant un coup d'oeil à l'historique des tailles d'OS pour les TI-Nspire CX.
Le diagramme étant assez étrange pour les TI-Nspire CX non-CAS, observons d'abord les TI-Nspire CX CAS.
L'on retrouve bien l'optimisation des exemples à partir de la version 3.0.2, pendant que l'OS continue de grossir.
Précisons que même si l'image d'OS 3.6 est sensiblement plus grosse que la 3.3, elle n'inclut pas de gestion de la langue arabe contrairement à cette dernière.
Le diagramme pour les TI-Nspire CX non-CAS est moins lisible mais vérifie les mêmes propriétés. Simplement, TI a commis une erreur lors de la génération des fichiers d'OS 3.0.1 et 3.0.2 qui les rendent plus gros que le fichier d'OS 3.1, en incluant dans l'image d'OS une ROM TI-84+SE de 2Mo alors qu'il n'y a plus de mode d'émulation TI-84+ sur les TI-Nspire CX. Et l'image d'OS étant signée, on ne peut la modifier aisément pour récupérer cet espace gaspillé.
Rappelons qu'une autre méthode permettant entre autres d'optimiser l'espace est sortie pour les TI-Nspire CX CAS munies de l'OS 3.6 dans les 24 heures ayant suivi sa découverte. Mais il s'agit ni plus ni moins d'une contrefaçon de cet OS puisque c'est une diffusion de code exécutable modifié avec désactivation de la nouvelle protection - je puis comprendre que les actions de TI depuis quelques mois puissent paraître injustes et pousser les bidouilleurs à de telles extrémités, mais contrairement à tous les exploits précédents il s'agit désormais d'un délit (pour les auteurs/hébergeurs - pas pour les utilisateurs). La communauté ne peut continuer sur cette voie, l'idéal étant d'inclure les modifications à appliquer de façon dynamique à Nlaunch - à bon entendeur...Si le blocage de TNOC n'est pas un vrai problème sur TI-Nspire CX où la puce NAND de 128Mo est partitionnée avec 115,2Mo pour le système de fichiers, l'OS ne peut plus continuer à grossir ainsi sur les TI-Nspire monochromes.
En bloquant notre outil, TI ne vient-il pas de saborder les futures évolutions sur ces modèles?...
Source:http://wiki.tiplanet.org/Versions_NspireLien:TNOC