Page 1 of 1

Augmente la mémoire de ta Nspire avec TNOC

Unread postPosted: 11 Aug 2010, 01:20
by critor
Les Nspire disposent de plus de 64Mo de mémoire. Vous pensez que c'est suffisant pour stocker vos programmes? Et bien non! Plusieurs personnes ont signalé des erreurs de mémoire en tentant d'installer le dernier OS 2.1. Dans une première partie, nous allons expliquer ces erreurs. Dans une deuxième partie, nous vous présenterons un outil TI-Planet qui va vous permettre d'augmenter la mémoire disponible sur votre Nspire en toute sécurité.



La mémoire Nspire est en fait répartie en 3 puces:
* 512Ko de ROM (FLASH NOR)
* 32Mo de ROM (FLASH NAND)
* 32Mo de RAM (SDRAM)

Et ces puces ont des rôles bien distincts:
* La ROM NOR contient le boot1 qui est lancé en premier au redémarrage.
* La ROM NAND contient beaucoup de choses: boot2, protection anti-downgrade, logiciel de diagnostic, OS, système de fichiers, ROM 84+.
* La RAM contient une copie du document en cours d'édition, mais également le code décompressé du boot2 et de l'OS, car la ROM NAND n'est pas exécutable.


Vos données sont donc enregistrées uniquement en ROM NAND. Cela ne vous fait déjà donc plus qu'une capacité de stockage de 32Mo. La ROM NAND est de plus découpée en pages de 528 octets, et les 4096 premières pages sont réservées pour les certificats, le boot2, la protection anti-downgrade et le logiciel de diagnostic. Ce qui ne nous laisse plus que 29.9375Mo. En réalité, une Nspire vide (sans OS ni documents) annonce un système de fichiers d'une capacité de 27.875Mo avec 76Ko utilisés, soit 27.8Mo libres au maximum. En effet, le formatage d'un système de fichiers utilise une partie de l'espace pour accélérer l'accès au données (tables d'index) et éventuellement vérifier/corriger les erreurs (sommes de contrôle), d'où la différence.

Voilà, avec 27.8Mo nous arrivons enfin à ce qui est écrit sur l'emballage et dans le manuel. Vous pensez que c'est fini? Vous pensez être tranquille? Détrompez-vous... Installons maintenant un OS. Avec l'OS 2.1 non-CAS par exemple, on tombe immédiatement à 12.7Mo de libres, soit moins de la moitié de la capacité indiquée sur l'emballage! Pourtant la suppression des quelques fichiers que l'on voit en mémoire ne risque pas de récupérer l'espace perdu...

Image
ImageImage


Rien qu'en installant l'OS 2.1, nous avons perdu 15Mo. Et oui: l'installation d'un OS crée un dossier masqué appelé "phoenix" et y enregistre des fichiers volumineux. Notamment, le fichier TNO/TNC envoyé à la calculatrice est conservé dans /phoenix/install. Et justement, ce fichier fait ici plus de 9Mo. Donc, sur les 27.8Mo annoncés par TI, déjà vous ne pouvez plus en utiliser que 12.7Mo, soit moins de la moitié!


Mais plus grave encore, l'installation de l'OS 2.1 provoque des problèmes de mémoires qui nous ont été signalés. En effet, lors de la mise-à-jour de l'OS, le fichier TNO/TNC envoyé n'écrase pas directement /phoenix/install, mais est d'abord enregistré en plus sous un nom temporaire. Il faut donc pouvoir recevoir ce fichier! Or, maintenant si vous enregistrez en mémoire pour 5Mo de documents (il y a largement de quoi sur TI-Bank), vous n'aurez plus qu'entre 7 et 8Mo de mémoire libre et ne pourrez plus envoyer aucun OS 2.0 ou 2.1 (plus de 8Mo). Donc, sur vos 12.7Mo de libres, vous avez à peine le droit d'en utiliser 4 Mo, sinon vous courrez vers des problèmes!!! Oserais-je parler de publicité mensongère?...

L'ennui, c'est donc que les OS de TI sont de plus en plus énormes. Leur taille a plus que triplé en seulement 3 ans, passant de 2.5Mo pour l'OS 1.1 à plus de 9Mo pour l'OS 2.1! Or, comme TI n'a pas profité de la sortie des TouchPad pour agmenter la taille de la ROM NAND sur la Nspire, TI est en train de foncer à pleine vitesse dans un mur, et ce sont les utilisateurs comme toujours qui en subiront le choc...



Mais qu'y a-t-il donc dans ces énormes fichiers TNO/TNC? En fait, ce sont des archives utilisant un format dérivé du PKZIP. Elles peuvent donc être ouvertes avec la plupart des logiciels d'archivage. En voici le contenu:

Image


Et voilà, ces archives contiennent des trucs inutiles, à commencer par les fichiers boot2.cer et boot2.img. En effet, il n'existe que 2 versions du boot2: 1.1 et 1.4. Ces fichiers inclus depuis l'OS 1.4 ont pour seul but de mettre à jour les calculatrices ayant encore un boot2 1.1. Or, cela ne concerne que les premières Nspire vendues en 2007. Toutes les Nspire vendues dans le commerce depuis au moins 2 ans sont déjà dotées d'origine du boot2 1.4. Les 2 fichiers boot2 nous gâchent donc 1.19Mo de mémoire pour rien!!!

Mais ce n'est pas fini: venons-en maintenant au fichier samples.zip. Il correspond aux classeurs d'exemples qui occupaient 214Ko ci-dessus. Mais là, le fichier fait 1.97Mo!!! Qu'est-ce que TI a donc bien pu fabriquer? Regardons:

Image


Mais quelle horreur!!! TI a tout simplement plusieurs versions des exemples en 13 langues différentes!!! Et tout ceci ira dans votre calculatrice, même si vous ne lisez les exemples qu'en une seule langue, ou même si vous ne les lisez pas du tout... Pour seulement 214Ko d'exemples, TI nous gâche donc 1,97Mo de mémoire!!!

Il suffirait donc tout simplement de retirer ces fichiers inutiles de l'archive TNO/TNC. Hélas, Ti l'a protégée par un entête non standard... Bien que nos logiciels d'archivage arrivent à en lire le contenu, ils n'arriveront pas à produire une modification valide pour la Nspire... Que faire?


C'est donc là qu'intervient TI-Bank, avec l'utilitaire TNOC. Doté d'une interface graphique (QT) et multi-plate-formes (Windows & Linux), cet utilitaire permet très simplement de retirer les fichiers inutiles de n'importe quel fichier TNO/TNC. Il vous suffit ensuite tout simplement de mettre à jour votre Nspire avec le fichier modifié pour bénéficier immédiatement de l'espace libre supplémentaire.

Image


TNOC est le fruit du travail de recherche et de développement d'une bonne partie de l'équipe TI-Bank:
* Xavier Andréani: idée originale + méthode + premières expérimentations manuelles
* Sam101/Zoetrem: version 1.0 qui automatise la méthode précédente
* Levak: version 1.2 avec ajout d'une interface graphique (aidé par Xavier Andréani, Lionel Debroux, et CodeSlicer)

Comme illustré sur les graphiques ci-dessous, TNOC vous permet de gagner environ:
* 1.5Mo de mémoire avec les OS 1.4
* 2Mo de mémoire avec les OS 1.6
* 3Mo de mémoire avec les OS 1.7
* 3.5Mo de mémoire avec les OS 2.X

ImageImage


Notamment grâce à TNOC, on passe avec l'OS 2.1 non-CAS illustré plus haut de 12.7Mo à 16.1Mo de libres, gagnant presque 3,5Mo!!!

Image


De plus, il est à noter aussi que vous pouvez ensuite libérer de l'espace sur les calculatrices de vos amis en envoyant totalement normalement le système "allégé" depuis votre calculatrice, comme pour une mise-à-jour normale.

De plus, 2 autres avantages ne sont pas chiffrés ci-dessus:
* Si vous n'utilisez plus que des fichiers TNO/TNC traités par TNOC, l'espace libre minimum à conserver pour pouvoir mettre à jour passe de 9Mo à seulement 6Mo!!! Encore 3Mo de plus pour stocker des données, donc!!!
* La durée nécessaire à la mise-à-jour est beaucoup plus courte, ce qui n'est pas négligeable par exemple pour l'enseignant qui doit mettre-à-jour un réseau d'une 30aine de Nspire.



Il faut espérer que TI va rapidement changer d'attitude, et arrêter de considérer la mémoire Nspire comme une ressource inépuisable, tel un Microsoft. Si les graphiques ci-dessus continuent sur la même tendance, TNOC deviendra indispensable pour tous les utilisateurs dans l'année qui vient, et comme TNOC ne peut que "limiter" la hausse et non l'enrayer, on se heurtera tous ensembles à un mur en béton armé l'année suivante!

Il est temps de passer au développement durable sur Nspire! Des alternatives sont possibles:
* Proposer la mise-à-jour du boot2 dans un fichier à part.
* Proposer le téléchargement des exemples dans un fichier à part.
* Faire des fichiers différents pour avoir les exemples dansla langue de son choix.
* Arrêter de rajouter des trucs inutiles dans l'OS (il est effrayant de voir ci-dessus que l'OS 2.1 dont la seule nouveauté visible est une protection anti-downgrade qui nuit à l'utilisateur, fait presque 1Mo de plus que les OS 2.0...)
* Supprimer les trucs inutiles de l'OS.
* Optimiser le code de l'OS.



TI-Planet: Parce que nous pensons à l'utilisateur d'abord!!!




Lien:
http://tiplanet.org/index.php?mod=archi ... ir&id=1922