π
<-

nBoot 3.00.99: Boot straight into linux

C, C++, ASM...

Re: nBoot 3.00.99: Boot straight into linux

Unread postby critor » 30 May 2016, 16:04

Trouvé je pense un bug/glitch(?) de nBoot.

Les TI-Nspire CX ont deux modes de démarrage :
- l'amorçage à froid
- l'amorçage à chaud

L'amorçage à chaud, c'est par exemple quand on enfonce et relâche le bouton 'reset'.
L'amorçage à froid, c'est par exemple quand on retire la batterie.

J'ai installé et testé avec succès nBoot sur deux CX CAS : HW-J et HW-T.

Or, depuis la révision matérielle HW-O, il est beaucoup plus facile d'obtenir un amorçage à froid.
Il suffit de maintenir enfoncé le bouton 'reset' pendant 1-2 secondes, ce que l'on fait bien souvent sans le vouloir lorsque l'on tente une combinaison de démarrage.
La calculatrice s'éteint alors complètement : elle ne se rallumera pas quand on le relâchera.
Il faudra la réveiller, en tapant :nsho: par exemple.

Donc j'ai pu remarquer que dans le contexte d'un démarrage à froid, nBoot ne se comporte pas correctement.
C'était visible au tout début de la vidéo (HW-T), et j'ai depuis confirmé sur HW-J qu'on a le même problème après retrait de la batterie.
Au réveil, la calculatrice reste coincée pendant 2-3 secondes sur un écran affichant n'importe quoi, et pouvant faire croire à sa destruction :
6953

Je viens de regarder de plus près ce qui se passe avec l'interface USB/TTL :
Code: Select all
Boot Loader Stage 1 (3.00.99)<CR><LF>
Build: 2010/9/9, 17:29:13<CR><LF>
Copyright (c) 2006-2010 Texas Instruments Incorporated<CR><LF>
Using production keys<CR><LF>
<LF>
Last boot progress: 65<CR><LF>
<CR><LF>
Available system memory: 33196<CR><LF>
Checking for NAND: NAND Flash ID: Generic 1 GBit (0xA1)<CR><LF>
SDRAM size: 64 MB<CR><LF>
Turning device off<LF><CR>
Unlocked!<LF>
<NUL><LF>
<LF>
<LF><CR>
Boot Loader Stage 1 (3.00.99)<CR><LF>
Build: 2010/9/9, 17:29:13<CR><LF>
Copyright (c) 2006-2010 Texas Instruments Incorporated<CR><LF>
Using production keys<CR><LF>
<LF>
Last boot progress: 65<CR><LF>
<CR><LF>
Available system memory: 33196<CR><LF>
Checking for NAND: NAND Flash ID: Generic 1 GBit (0xA1)<CR><LF>
SDRAM size: 64 MB<CR><LF>
SDRAM memory test:   Pass<LF><CR>
Clearing SDRAM...Done.<CR><LF>
Clocks:  CPU = 132MHz   AHB = 66MHz   APB = 33MHz   <CR><LF>
Unlocked!<LF>
Clearing SDRAM...Done.<CR><LF>


Comme on peut le voir, au 1er amorçage (à froid donc), le Boot1 se bloque.
Après l'envoi du message "Unlocked!" injecté par nBoot, le Boot1 reste coincé 2-3 secondes sur l'écran montré plus haut.
Ensuite, la calculatrice redémarre, mais cette fois-ci il s'agit d'un amorçage à chaud - donc ça marche.



Je ne peux rien faire, ce n'est pas mon code, cela se produit avant même le lancement de ControlX.
En espérant que l'auteur nous lise encore...


En apparence donc ça ne cause pas de vrai problème, et si mes HW-J et HW-T n'ont rien cela devrait logiquement marcher sur toute révision A à V.
Mais c'est quand même je trouve assez effrayant, aussi bien en regardant l'écran que la console série... l'outil nBoot est peut-être dans son état actuel à 1 doigt de détruire les machines, et si il doit être mis à jour à l'avenir il vaudrait mieux je pense comprendre ce qui se passe avant.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: nBoot 3.00.99: Boot straight into linux

Unread postby Ti64CLi++ » 30 May 2016, 16:40

Mais le code de nBoot n'est pas public ?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: nBoot 3.00.99: Boot straight into linux

Unread postby critor » 30 May 2016, 17:11

Le code source, non.
Mais le code machine est bien en premier post de ce topic.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: nBoot 3.00.99: Boot straight into linux

Unread postby critor » 30 May 2016, 23:40

Rien à voir, mais j'ai testé sur émulateur ce que donnait nBoot sur une TI-Nspire CX CR4 (Boot1 4.0.1 donc - révisions HW-W+) :
Code: Select all
Boot Loader Stage 1 (4.0.1.43)
Build: 2015/7/20, 14:47:25
Copyright (c) 2006-2015 Texas Instruments Incorporated
Using production keys

Last boot progress: 2060

Available system memory: 28072
Checking for NAND: NAND Flash ID: Generic 1 GBit (0xA1)
SDRAM size: 64 MB
Wakeup Event: ON.
SDRAM memory test:   Pass
Clearing SDRAM...Done.
Clocks:  CPU = 156MHz   AHB = 78MHz   APB = 39MHz   
Clearing SDRAM...Done.
Boot option: Normal

Loading from BOOT2 partition...

Ben... rien.
On perd de même le fond d'écran de démarrage, mais le code de nBoot n'est pas exécuté.
En effet, on ne retrouve pas l'injection du message "Unlocked!" dans ce log. :'(

En fait, les TI-Nspire CX CR4 semblent ne plus utiliser la zone SPI exploité par nBoot.
nsNandMgr et BtMg me reportent en effet une valeur anormale de "0/0".
(contre "1/1" sur le prototype TI-Nspire Color, "2/2" sur les CX révisions A-V, et "16/2" sur ces mêmes CX lorsque nBoot est installé)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: nBoot 3.00.99: Boot straight into linux

Unread postby Ti64CLi++ » 31 May 2016, 08:45

En tout cas, j'attends avec impatience la news. J'ai été informé hier que mon écran que j'ai commandé était acheté, mais par contre, plus de carte mère en stock :'(
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: nBoot 3.00.99: Boot straight into linux

Unread postby parrotgeek1 » 01 Jun 2016, 02:15

I thought this bricked my calculator but this is what went wrong

I had no Diags. I had to use Esc+Menu+[-] to switch it back to boot2 order, to boot
User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: nBoot 3.00.99: Boot straight into linux

Unread postby critor » 01 Jun 2016, 10:21

Hi.

I'm glad it's not bricked. :)

The white screen is normal - the nBoot exploit does overwrite the boot graphics.

If the white screen is completely empty (meaning the progress bar doesn't even show up) it's a very bad sign, meaning that the Boot1 is failing very early (when reading the Manuf).

If you get to the progress bar, it usually means it's not bricked, which was your case. :)
Feel free to reflash a Diags :
archives_list.php?order=datemaj&cat=ROM+Nspire&multi_chaine_search=Diags#files
In your case, I would try the 3.9.0.1 version.
I fear the newer 4.0.1.45 only supports the new HW-W+ 240x320 screen (didn't take the time to test).
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: nBoot 3.00.99: Boot straight into linux

Unread postby Ti64CLi++ » 01 Jun 2016, 13:45

Serait-t-il possible de modifier nBoot pour qu'il lance un OS modifié au lieu de Linux?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Re: nBoot 3.00.99: Boot straight into linux

Unread postby critor » 01 Jun 2016, 13:49

Non.

nBoot ne peut lancer que des images en partition Boot2/Diags/ExtnD, c'est-à-dire :
- le loader Linux fourni avec nBoot
- le gestionnaire de démarrage ControlX
- des Boot2/Boot1.5/Diags

nBoot s'exécute au niveau du Boot1 et n'a donc aucune visibilité sur la partition du système de fichiers contenant l'OS.
En effet, le format FlashFX utilisé par cette partition n'est pas géré par le Boot1.
C'est-à-dire que lorsque je programme une image pour le Boot1 (comme ControlX), certaines fonctionnalités du C sont totalement inutilisables. Comme les fopen/fread/fwrite/fclose par exemple.


Ce qui serait possible, c'est que nBoot lance un Boot2 modifié, qui lui même pourrait lancer un OS modifié.
Je précise que ce n'est absolument pas dans mes compétences.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: nBoot 3.00.99: Boot straight into linux

Unread postby Ti64CLi++ » 01 Jun 2016, 13:50

Et pourquoi les Nspire HW>I n'acceptent pas le boot2 3.0.1?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

PreviousNext

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
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 Calculatrices à acheter chez Calcuso
-
Stats.
729 utilisateurs:
>721 invités
>3 membres
>5 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)