Page 1 of 1

Dumping Boot1/Boot2 TI-Phoenix 1, enfin!

Unread postPosted: 01 Mar 2013, 17:48
by critor
Bonjour,


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:
342


Depuis, nous avons fait de grandes avancées sur la famille TI-Nspire CAS+ avec notamment:

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é. :o
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...
324




Mais aujourd'hui, pour l'anniversaire de sa découverte (avec 2 mois de retard certes... :P) 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! :bat:
344




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...
2175


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! :bj:

Voilà les Boot1 et Boot2 du TI-Phoenix 1 sont enfin dumpés! :bj:
Voici par exemple un petit aperçu du Boot2:
Image


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! :bj:
Image


En prime, les Boot1 et Boot2 du TI-Phoenix 1 marchent sous émulateur! :bj:
Image




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! :bj:




Liens:
Boot2 TI-Phoenix 1
Versions Boot1 TI-Nspire CAS+
Versions Boot2 TI-Nspire CAS+

Re: Dumping Boot1/Boot2 TI-Phoenix 1, enfin!

Unread postPosted: 01 Mar 2013, 18:44
by AlexRider38
Bien joué critor :#top#:

Re: Dumping Boot1/Boot2 TI-Phoenix 1, enfin!

Unread postPosted: 01 Mar 2013, 18:55
by critor
Merci - mais tu peux aussi féliciter toute l'équipe et tous ceux qui ont contribué à ce grand projet à un moment où à un autre, car je n'y serais pas arrivé aujourd'hui sans eux, c'est-à-dire sans tout ce qui a pu être accompli jusqu'à ce jour. ;)

En espérant n'oublier personne: Adriweb, Jimbauwens, Bsl et Goplat. :bj:
Vous avez été géniaux les gars! :D

Re: Dumping Boot1/Boot2 TI-Phoenix 1, enfin!

Unread postPosted: 01 Mar 2013, 18:56
by AlexRider38
Bon, bravo tout le monde alors ^^

Re: Dumping Boot1/Boot2 TI-Phoenix 1, enfin!

Unread postPosted: 01 Mar 2013, 19:14
by Adriweb
Félicitations (à toi surtout pour la mise en pratique :P) pour toute cette suite d'événements ;)