Il y a un peu plus d'un an, nous découvrions avec vous grâce au musée Datamath l'ancêtre de toutes les TI-Nspire, la plus ancienne unité nomade la famille CAS+, le TI-Phoenix 1 P1-EVT1 de janvier 2006:
Depuis, nous avons fait de grandes avancées sur la famille TI-Nspire CAS+ avec notamment:
- le dumping du premier OS sur un prototype TI-Nspire CAS+ P1-EVT2 en mai 2012
- le dumping des OS TI-Nspire CAS+ P1-DVT et P1-PVT en mai 2012
- le dumping du premier Boot1 et premier Boot2 sur un prototype TI-Nspire CAS+ P1-EVT2 en octobre 2012
- le dumping de l'OS TI-Nspire+ P1-EVT2 en novembre 2012
- le dumping des Boot1 et Boot2 TI-Nspire CAS+ P1-PVT en novembre 2012
- le dumping des Boot1 et Boot2 TI-Nspire+ P1-EVT2 en novembre 2012
- la sortie d'un émulateur en décembre 2012
- le dumping des premiers Boot1 et Boot2 TI-Nspire CAS+ P1-DVT en décembre 2012
- la sortie de Ndless+ en janvier 2013
Au cours de ces aventures, nous avons essentiellement exploité et développé deux méthodes de dumping:
- Pour les TI-Nspire CAS+ P1-EVT:
- Utiliser le shell DataLight RS232 pour copier l'OS dans les documents utilisateurs
- Récupérer l'OS en USB via un telnet sur le port 10001 de la calculatrice
- Analyser l'OS pour exploiter les failles du shell Datalight
- Envoyer sur le shell Datalight RS232 une commande contenant du code assembleur à exécuter afin de dumper les Boot1, Boot2 et Diags si présent en RS232
- Pour les TI-Nspire CAS+ P1-DVT et P1-PVT (dépourvues de shell Datalight)
- En USB via un telnet sur le port 10002 de la calculatrice, copier l'OS dans les documents utilisateurs
- Récupérer l'OS en USB via le TI-Nspire Computer Link 1.0
- Analyser l'OS pour en exploiter les failles
- Envoyer des documents adaptés contenant du code assembleur à exécuter afin de dumper les Boot1, Boot2 et Diags si présent dans les documents utilisateurs
- Récupérer les Boot1, Boot2 et Diags en USB via le TI-Nspire Computer Link 1.0
Autrement dit, à côté de cela notre travail sur le TI-Phoenix 1 P1-EVT1 était resté très superficiel - nous l'avions eu entre les mains beaucoup trop tôt. Nous n'étions pas prêts... Nous n'étions pas mûrs...
Mais même à ce jour, il n'est pas possible de dumper ce prototype par les méthodes précédentes, tout simplement car sa prise USB semble non fonctionnelle. L'ordinateur ne réagit absolument pas à son branchement; il ne signale même pas de périphérique inconnu - c'est comme si il n'y avait rien de branché.
Nous ne savons pas si c'est lié, mais on remarque facilement que la prise USB du TI-Phoenix 1 P1-EVT1 est connectée à l'envers par rapport aux autres TI-Nspire. Peut-être était-ce un circuit différent, ou peut-être était-ce un moyen de la désactiver...
Mais aujourd'hui, pour l'anniversaire de sa découverte (avec 2 mois de retard certes... ) et grâce à la générosité et la confiance du musée Datamath, le TI-Phoenix 1 passe avec moi les quelques jours de vacances qu'il nous reste.
Et je compte bien en profiter pour lui faire cracher le morceau!
Nous avions vu lors du test RS232 du TI-Phoenix 1 que ce dernier n'utilisait pas un Boot1 de chez TI.
En guise de Boot1 on avait un loader U-Boot 1.1.2 compilé le 23 janvier 2006.
U-Boot étant un loader libre répandu dans les monde Linux et embarqué.
- Code: Select all
U-Boot 1.1.2 (Jan 23 2006 - 11:21:34)
U-Boot code: 11080000 -> 110E3094 BSS: -> 110EF750
RAM Configuration:
Bank #0: 10000000 32 MB
Flash: 512 kB
NAND:32 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
NAND read: device 0 offset 16384, size 1425408 ... 1425408 bytes read: OK
## Starting application at 0x10C00000 ...
Mais avez-vous bien vu ce message?
- Code: Select all
Hit any key to stop autoboot:
Il est accompagné d'un compte à rebours de 5 à 0. Selon la documentation de U-Boot et si TI n'a pas modifié ça en recompilant les sources, l'interruption du démarrage à ce moment-là donnerait accès une console RS232 où nous aurions des commandes pour afficher l'état des mémoires RAM et NAND, ce qui permettrait de dumper les Boot1 et Boot2!
Expérimentons...
Yes, j'ai réussi à appuyer sur une touche au bon moment et me vois salué par une invite "Phoenix Demo". Tentons une commande de dumping mémoire RAM...
- Code: Select all
U-Boot 1.1.2 (Jan 23 2006 - 11:21:34)
U-Boot code: 11080000 -> 110E3094 BSS: -> 110EF750
RAM Configuration:
Bank #0: 10000000 32 MB
Flash: 512 kB
NAND:32 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
Phoenix Demo# md 0 10
00000000: ea000093 e59ff014 e59ff014 e59ff014 ................
00000010: e59ff014 e59ff014 e59ff014 e59ff014 ................
00000020: 11080300 11080360 110803c0 11080420 ....`....... ...
00000030: 11080480 110804e0 11080540 deadbeef ........@.......
Phoenix Demo#
Bingo, ça marche!
Voilà les Boot1 et Boot2 du TI-Phoenix 1 sont enfin dumpés!
Voici par exemple un petit aperçu du Boot2:
Comme vu dans le test RS232, ce Boot2 n'était pas très bavard au sens où il ne donnait aucun numéro de version et aucune date.
- Code: Select all
Phoenix BOOT2
Initializing graphics subsystem.
Initializing filesystem.
Datalight Reliance v2.00.0451
Copyright (c) 2003 - 2005 Datalight, Inc.
Registered to #9DE08703
FlashFX sample project for the OMAP5912 OSK running Nucleus
Datalight FlashFX Pro v2.0 Build 966
Nucleus Edition for ARM9
Copyright (c) 1993-2005 Datalight, Inc.
Patents: US#5860082, US#6260156.
Filesystem ready.
Alors on ne trouve pas plus de numéro de version, mais là dans l'image du Boot2 on a bel et bien sa date de naissance: 23 janvier 2006!
En prime, les Boot1 et Boot2 du TI-Phoenix 1 marchent sous émulateur!
TI-Planet poursuit ainsi son oeuvre de sauvegarde du patrimoine TI pédago-ludique en voie de disparation.
Mais au delà de ça, avec une version de U-Boot désormais compilée spécifiquement pour les TI-Nspire CAS+, c'est la porte ouverte au lancement de Linux sur ce modèle!
A bientôt on espère pour le dumping de l'OS!
Liens:
Boot2 TI-Phoenix 1
Versions Boot1 TI-Nspire CAS+
Versions Boot2 TI-Nspire CAS+