π
<-
Chat plein-écran
[^]

1ère reprogrammation du Boot1 d'une TI-Nspire de production

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:
Online

1ère reprogrammation du Boot1 d'une TI-Nspire de production

Unread postby critor » 18 Dec 2012, 22:50

Dans une news précédente, nous avions vu que suite à une petite différence de brochage, la puce Flash NOR des prototypes TI-Nspire ClickPad était reprogrammable.
Image


Cette possibilité de reprogrammer le Boot1 nous avait par la suite permis de transformer ces prototypes TI-Nspire ClickPad en modèles de production complètement utilisables! :bj:



Dans une news précédente, une source anonyme nous avait publié des informations sur une modification matérielle des TI-Nspire ClickPad de production, qui permettrait de rendre la puce Flash NOR reprogrammable exactement comme sur les prototypes.
Image


Nous n'avons pu obtenir aucune information supplémentaire sur la fonctionnalité de la chose, alors le mieux était de tenter nous-même pour vérifier:
Image

Le montage nécessite effectivement un interrupteur inverseur pour basculer entre l'état d'origine et modifié de la calculatrice. En effet, dans l'état modifié la calculatrice ne démarre pas, ce qui semble indiquer qu'il y aurait d'autres différences matérielles avec les prototypes puisque eux sont capables de démarrer dans cet état.


Une fois la calculatrice démarrée, il suffit donc de basculer l'interrupteur juste avant de lancer la reprogrammation du Boot1.

Modifions donc un Boot1 1.1.8916 en changeant sa chaîne de version en 1.1.9999 et tentons de le programmer...
Image


Bingo, ça a marché. :#fou#:



Puisque l'on peut désormais modifier le Boot1 absolument comme on veut, il devient possible de programmer n'importe quoi comme Boot2, logiciel de diagnostics ou même OS.

Les possibilités sont tout bonnement énormes! :bj:
Rappelons que le Boot1 lance au démarrage soit le Boot2, soit le logiciel de diagnostics. Ces deux modules utilisent le même format en mémoire et sont donc entièrement interchangeables, la seule contrainte étant la taille
(la zone de diagnostics est limitée à 640Ko, mais le code inclus peut être compressé)
.

On pourrait avoir nos propres logiciels de diagnostics/dépannage/maintenance, avec des possibilités supérieures...

Ou encore l'installation permanente de Linux via la programmation d'un loader...

Ou même un véritable dual-Boot, permettant de lancer deux OS différent... par exemple pour alternet entre l'OS Nspire et Linux... ou encore pour alterner entre le lancement de l'OS 3.1
(pour Ndless)
et de l'OS 3.2
(pour les nouvelles applications Lua)
sans avoir à se taper sans arrêt des réinstallations d'OS selon les besoins.



Bref, les possibilités défient l'imagination. :bj:



A tempérer par un gros bémol: on parle ici des TI-Nspire ClickPad commercialisées jusqu'en 2009-2010, qui disposent d'une puce Flash NOR externe.

A partir de 2010-2011, les TI-Nspire TouchPad puis CX et CM ont vu leur puce Flash-NOR transférée à l'intérieur de la puce ASIC.

Cette Flash-NOR interne inconnue est très probablement protégée contre l'écriture si TI a bien fait les choses, et une modification similaire nécessiterait de décapsuler la puce ASIC sans la détruire pour ensuite modifier sous microscope... Clairement mission impossible donc.

In a previous news, we saw that a small broaching difference around the NOR Flash chip in TI-Nspire ClickPad prototypes was making the chip writeable.
Image


This ability to reprogram the Boot1 had then helped us transforming TI-Nspire ClickPad prototypes into fully functionnal production TI-Nspire.



In a previous news, an anonymous source had published information about a hardware mod for production TI-Nspire ClickPad, which would make the Flash NOR chip writeable like on prototypes.
Image


We were unable to obtain any further information, so it was best to try ourselves to check:
Image

The installation does require a switch to toggle between the original and modified states of the calculator. Indeed, in the modified state the calculator does not boot, which suggests that there are other hardware differences with the prototypes since those are able to boot in this state.


Once the OS has started, you just have to flip the switch before launching the NOR flasher.

Let's try to reprogram a 1.1.8916 Boot1, with its version string modified to 1.1.9999...
Image



Success!



Since you can now modify the Boot1 exactly as you want, it becomes possible to program anything as Boot2 and diagnostics software, or even as OS.

The possibilities are simply huge! : Bj:
Note that the Boot1 does launch either the Boot2, either the diagnostic software. Both use the same format in memory and are fully interchangeable, the only constraint being the size
(the diags area is limited to 640KB, but the code can be compressed)
.

We could have our own software diagnostics / troubleshooting / maintenance, with more and greater options than the official one...

Or permanently install Linux by programming a loader as a Boot2 or Diags...

Or even have a true dual-boot, to run two different OS ... for example to switch between the Nspire OS and Linux... or to switch between OS 3.1
(for Ndless)
and OS 3.2
(for new Lua apps)
... No need for a computer or another calculator anymore to constantly install the currently needed OS every 2 days!

And much more... ;)



But don't be too excited: we are talking about TI-Nspire ClickPad sold until 2009-2010, which had an external Flash-NOR chip.

From 2010-2011, TI-Nspire TouchPad, CX and CM had their Flash-NOR chip moved inside the ASIC.

This internal Flash-NOR internal is unknown and probably write-protected. A similar change would require to uncap the ASIC chip without destroying it and then modify it under a microscope... Let's say it more simply: it's impossible.

User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 3.5%
 
Posts: 34956
Images: 9324
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: 1ère reprogrammation du Boot1 d'une TI-Nspire de product

Unread postby Persalteas » 19 Dec 2012, 13:23

Hoho, voilà qui est intéressant !

Il y a tout de même une chose qui m'étonne: Tu dis que celà ouvrirait les portes a la programmation de nouveaux OS; il me semblait que les OS étaient cryptés avec des clefs RSA, non ? Et la clef RSA Nspire n'est pas décryptée ?

Parce qu'effectivement, un KnightOS-Nspire ou un linux définitif seraient intéressants. Mais je pensais que pour faire un OS, il fallait la clé RSA.
User avatar
Persalteas
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 94.7%
 
Posts: 2336
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
Class: PhD candidate, Bioinformatics

Re: 1ère reprogrammation du Boot1 d'une TI-Nspire de product

Unread postby Excale » 19 Dec 2012, 18:07

Pour faire simple, le boot1 vérifie la signature RSA du boot2, qui vérifie la signature RSA de l'OS...
User avatar
ExcaleAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.3%
 
Posts: 2954
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):

Re: 1ère reprogrammation du Boot1 d'une TI-Nspire de product

Unread postby Persalteas » 19 Dec 2012, 18:23

Ah. Et c'est possible de créer un boot1 qui lancerait un OS sans clé RSA, c'est ça ? okay, thanks.
User avatar
Persalteas
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 94.7%
 
Posts: 2336
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
Class: PhD candidate, Bioinformatics

Re: 1ère reprogrammation du Boot1 d'une TI-Nspire de product

Unread postby Lionel Debroux » 19 Dec 2012, 18:53

Et c'est possible de créer un boot1 qui lancerait un OS sans clé RSA, c'est ça ?

C'est ça :)
Mais il y a encore mieux à faire: un boot1 qui valide le boot2 signé avec une clé qui n'est pas celle de TI, et un boot2 qui valide les OS signés avec une clé qui n'est pas celle de TI.
Ca donnerait une machine qui refuse d'être mise à jour avec le boot2 et donc les OS officiels - bref, en conditions d'examen, s'il y a reflashage dans la salle d'examen, une brique plutôt qu'une machine qui obéit aux limitations (ce qui pose alors la question de l'équité de l'examen).
TI a fondamentalement perdu le contrôle des Clickpad.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 5.8%
 
Posts: 6443
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: 1ère reprogrammation du Boot1 d'une TI-Nspire de product

Unread postby Persalteas » 19 Dec 2012, 18:55

Hum, je vois déjà venir chaque codeur pour Nspire créant son OS avec sa clé RSA personnelle ;)

On en est pas encore là, coder un OS entier en Asm ARM ne sera jamais fait, j'imagine, rien qu'a voir comment on galère avec KnightOS.

Le projet d'installer Linux en dual boot est plus prometteur par contre.

Bien, je fais comme tout le monde alors, j'attends avec mes yeux écarquillés :)
User avatar
Persalteas
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 94.7%
 
Posts: 2336
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
Class: PhD candidate, Bioinformatics

Re: 1ère reprogrammation du Boot1 d'une TI-Nspire de product

Unread postby Lionel Debroux » 19 Dec 2012, 19:33

Le projet d'installer Linux en dual boot est plus prometteur par contre.

Voilà. Le codage d'un OS entier en ASM ne se fait que sur des plate-formes où on ne peut pas utiliser de l'existant, standard et ultra-portable, comme Linux.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 5.8%
 
Posts: 6443
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: 1ère reprogrammation du Boot1 d'une TI-Nspire de product

Unread postby Levak » 20 Dec 2012, 05:21

persalteas wrote:On en est pas encore là, coder un OS entier en Asm ARM ne sera jamais fait, j'imagine, rien qu'a voir comment on galère avec KnightOS.


La vérification du CAS et non CAS est aussi 'comme par hasard' dans le boot (dupliqué dans l'OS mais c'est pour cacher la misère).
Inutile de nier que oui, on peut faire tourner un OS CAS sur une non CAS à partir de ce moment là.
Responsable design/graphique de TI-Planet

I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 91.4%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
Class: BAC+5: Epita (ING3)


Return to News TI-Nspire

Who is online

Users browsing this forum: No registered users and 6 guests

-
Search
-
Featured topics
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
434 utilisateurs:
>422 invités
>6 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)