Khi: bootloader conforme France, multiboot Epsilon+KhiCAS
Posted: 07 Apr 2022, 10:25
La calculatrice NumWorks était initialement un formidable projet de machine ouverte.
Le développement tiers a pu s'y hisser à un niveau jamais atteint sur la concurrence, et permettant l'émergence d'un projet formidable, Omega par Quentin Guidee et ses non moins illustres collaborateurs.
Il s'agissait d'un firmware alternatif pour ta calculatrice NumWorks. Basé sur le code source d'Epsilon comme la licence libre l'y autorisait, Omega avait pour but de regrouper et mettre en avant les meilleures contributions au code d'Epsilon, en incluant cette fois-ci celles laissées de côté par le constructeur.
Difficile de tout citer ici mais voici déjà par exemple un des fantastiques ajouts d'Omega. La NumWorks travaille en interne sur des arbres de calcul, mais les bridait donc artificiellement pour n'accepter que des valeurs numériques. Omega ré-autorisait à nouveau ces arbres à utiliser des lettres / inconnues, ce qui nous redonnait ainsi un moteur de calcul littéral. De quoi même dériver, du jamais vu à seulement 80€ !
Citons aussi un tableau périodique des éléments, ou encore la possibilité d'avoir une bibliothèque de constantes physiques avec unités bien avant que ce ne soit disponible dans le firmware officiel.
Outre ce qu'il intégrait, Omega offrait également l'avantage de pouvoir installer à chaud des applications, fonctionnalité jusqu'alors absente du firmware officiel Epsilon. Plusieurs applications de très haute facture furent développées, on peut citer entre autres :
Le développement tiers a pu s'y hisser à un niveau jamais atteint sur la concurrence, et permettant l'émergence d'un projet formidable, Omega par Quentin Guidee et ses non moins illustres collaborateurs.
Il s'agissait d'un firmware alternatif pour ta calculatrice NumWorks. Basé sur le code source d'Epsilon comme la licence libre l'y autorisait, Omega avait pour but de regrouper et mettre en avant les meilleures contributions au code d'Epsilon, en incluant cette fois-ci celles laissées de côté par le constructeur.
Difficile de tout citer ici mais voici déjà par exemple un des fantastiques ajouts d'Omega. La NumWorks travaille en interne sur des arbres de calcul, mais les bridait donc artificiellement pour n'accepter que des valeurs numériques. Omega ré-autorisait à nouveau ces arbres à utiliser des lettres / inconnues, ce qui nous redonnait ainsi un moteur de calcul littéral. De quoi même dériver, du jamais vu à seulement 80€ !
Citons aussi un tableau périodique des éléments, ou encore la possibilité d'avoir une bibliothèque de constantes physiques avec unités bien avant que ce ne soit disponible dans le firmware officiel.
Outre ce qu'il intégrait, Omega offrait également l'avantage de pouvoir installer à chaud des applications, fonctionnalité jusqu'alors absente du firmware officiel Epsilon. Plusieurs applications de très haute facture furent développées, on peut citer entre autres :
- KhiCAS, une formidable application intégrée de Mathématiques et de Sciences par Bernard Parisse, enseignant-chercheur à l'Université de Grenoble, qui étendait gratuitement les capacités de ta calculatrice au niveau d'une HP Prime. L'application intégrait le moteur de calcul formel GIAC développé pour le logiciel Xcas du même auteur pour des possibilités en calcul encore plus étendues. Étaient également inclus un tableur, une bibliothèque de constantes physiques, un convertisseur d'unités, un tableau périodique des éléments et bien d'autres choses encore. Le tout était en prime programmable en Python, avec une collection de modules importables bien plus étoffée que celle de l'application Python officielle, et surtout ici de façon intégrée, tes scripts Python pouvant en effet faire appel au moteur de calcul formel GIAC par l'intermédiaire du module cas.
- Nofrendo, un émulateur de console de jeux Nintendo NES par zardam
- Peanut-GB, un émulateur de console de jeux Nintendo GameBoy par M4x1m3
- Periodic, un tableau périodique des éléments par M4x1m3
Mais voilà, à la rentrée 2021 la mise à jour 16.3 d'Epsilon, le firmware officiel des calculatrices NumWorks, a introduit un verrouillage des modèles N0110.
Toute N0110 mise à jour ou venant préchargée d'une version 16.3 ou supérieure, comprend un chargeur de démarrage censé être non effaçable, et empêchant entre autres :
Toute N0110 mise à jour ou venant préchargée d'une version 16.3 ou supérieure, comprend un chargeur de démarrage censé être non effaçable, et empêchant entre autres :
- l'installation de tout firmware non correctement signé par le constructeur, c'est-à-dire entre autres de tout firmware tiers (Omega, Upsilon, Khi, ...)
- l'installation d'applications persistantes en mémoire Flash (logiciel intégré de Mathématiques avec moteur ce calcul formel KhiCAS, émulateurs Nintendo Game Boy et NES, tableau périodique des éléments, ...)
- soit utiliser le firmware Epsilon pour bénéficier de toutes les dernières nouveautés officielles, mais en contrepartie renoncer définitivement aux firmwares tiers
- soit utiliser un firmware tiers, mais en contrepartie renoncer aux nouveautés officielles car NumWorks a profité de l'occasion du verrouillage pour révoquer sa licence libre, et interdire ainsi la réutilisation de tout code introduit à partir de la version 16
Dans une actualité précédente, nous t'annoncions la sortie de Phi. Phi est un chargeur de démarrage avec lequel il suffit d'écraser le chargeur officiel, grâce à une faille présente dans les firmwares Epsilon officiels.
Après plus de 6 mois d'attente Phi te permettait enfin de déverrouiller ta calculatrice, étant ensuite capable de lancer aussi bien les firmwares officiels Epsilon que les firmware tiers, à la seule condition que ces derniers aient été mis à jour pour supporter ce nouvel amorçage.
À ce jour étaient compatibles les firmwares Omega et Khi.
Encore mieux que ça, avec Phi tu n'avais même pas à choisir entre fonctionnalités officielles et tierces, tu peux avoir les deux en même temps. Depuis le verrouillage la mémoire Flash des N0110 est partitionnée en deux moitiés égales de 4 Mio, et pouvant chacune accueillir un firmware.
Le raccourci reset+
La mémoire Flash de 8 Mio est découpé en 2 slots A et B de 4 Mio chacun. Les raccourcis reset+
Après plus de 6 mois d'attente Phi te permettait enfin de déverrouiller ta calculatrice, étant ensuite capable de lancer aussi bien les firmwares officiels Epsilon que les firmware tiers, à la seule condition que ces derniers aient été mis à jour pour supporter ce nouvel amorçage.
À ce jour étaient compatibles les firmwares Omega et Khi.
Encore mieux que ça, avec Phi tu n'avais même pas à choisir entre fonctionnalités officielles et tierces, tu peux avoir les deux en même temps. Depuis le verrouillage la mémoire Flash des N0110 est partitionnée en deux moitiés égales de 4 Mio, et pouvant chacune accueillir un firmware.
Le raccourci reset+
4permet de consulter l'état de la mémoire Flash et de mettre la calculatrice dans un mode de mise à jour protégé car interdisant la réécriture du chargeur de démarrage.
La mémoire Flash de 8 Mio est découpé en 2 slots A et B de 4 Mio chacun. Les raccourcis reset+
1et reset+
2te permettent alors de basculer entre l'amorçage des deux firmwares situés dans chacun de ces 2 slots.
Sauf qu'il y avait 2 problèmes majeurs avec Phi.
D'une part, le découpage de la mémoire Flash en 2 slots égaux de 4 Mio faisait qu'il n'était pas possible de profiter à la fois :
Extrêmement dommage.
D'autre part, et là c'était extrêmement grave, Phi n'est pas conforme à la réglementation française du mode examen et est donc strictement interdit d'utilisation à tout examen exigeant l'activation de ce mode en France.
Le problème est que les raccourcis reset+
Or c'est strictement interdit par les spécifications officielles du mode examen français ; le mode examen ne doit pas pouvoir être désactivé de façon autonome par les candidats, c'est-à-dire que la désactivation doit nécessiter un outil extérieur non présent sur leur table de composition car interdit en examen (2ème calculatrice, ordinateur, etc.).
Un outil interdit étant frauduleux, si tu introduis Phi dans une salle d'examen en France et te fais prendre (parce que tu auras basculé entre deux firmwares pendant l'épreuve et peut-être même oublié de réactiver immédiatement le mode examen), tu risquais l'ensemble des désagréments possiblement dramatiques (non fixé sur ta réussite à l'examen à la veille de l'été comme les camarades et donc rien à fêter avec eux, le jugement nécessitant du temps alors qu'en prime les rectorats sont fermés une bonne partie de l'été risque de perdre ton inscription dans l'enseignement supérieur et donc une année, jusqu'à 5 ans d'interdiction de passer tout examen y compris le permis de conduire de quoi bien te gâcher la vie, ...).
Malgré sa gravité et ses conséquences éventuelles hautement désagréables, ce problème rapidement signalé n'a malheureusement pas fait l'objet de corrections de la part de l'équipe Omega.
D'une part, le découpage de la mémoire Flash en 2 slots égaux de 4 Mio faisait qu'il n'était pas possible de profiter à la fois :
- de la possibilité d'avoir 2 firmwares entre lesquels basculer au choix (par exemple l'une des dernières versions du firmware Epsilon pour avoir les dernières fonctionnalités officielles que la révocation de la licence libre interdit désormais de reprendre, accompagnée d'un des firmwares tiers Omega ou Khi)
- et de la formidable application KhiCAS
- Soit tu mettais obligatoirement un firmware tiers dans le slot A (Omega ou Khi) et pouvais alors installer et lancer l'application KhiCAS, mais cette dernière débordait sur le slot B et n'était donc pas compatible avec l'installation d'un 2ème firmware dans ce dernier
- Soit tu mettais 2 firmwares différents au choix dans les slots A et B, excluant ainsi l'installation de KhiCAS puisque le slot B lui était nécessaire
Extrêmement dommage.
D'autre part, et là c'était extrêmement grave, Phi n'est pas conforme à la réglementation française du mode examen et est donc strictement interdit d'utilisation à tout examen exigeant l'activation de ce mode en France.
Le problème est que les raccourcis reset+
1et reset+
2permettant de basculer entre les deux firmwares présents en mémoire désactivent le mode examen.
Or c'est strictement interdit par les spécifications officielles du mode examen français ; le mode examen ne doit pas pouvoir être désactivé de façon autonome par les candidats, c'est-à-dire que la désactivation doit nécessiter un outil extérieur non présent sur leur table de composition car interdit en examen (2ème calculatrice, ordinateur, etc.).
Un outil interdit étant frauduleux, si tu introduis Phi dans une salle d'examen en France et te fais prendre (parce que tu auras basculé entre deux firmwares pendant l'épreuve et peut-être même oublié de réactiver immédiatement le mode examen), tu risquais l'ensemble des désagréments possiblement dramatiques (non fixé sur ta réussite à l'examen à la veille de l'été comme les camarades et donc rien à fêter avec eux, le jugement nécessitant du temps alors qu'en prime les rectorats sont fermés une bonne partie de l'été risque de perdre ton inscription dans l'enseignement supérieur et donc une année, jusqu'à 5 ans d'interdiction de passer tout examen y compris le permis de conduire de quoi bien te gâcher la vie, ...).
Malgré sa gravité et ses conséquences éventuelles hautement désagréables, ce problème rapidement signalé n'a malheureusement pas fait l'objet de corrections de la part de l'équipe Omega.
Heureusement, Bernard Parisse, auteur de l'application KhiCAS et de son firmware dédié Khi, s'est saisi de ces problèmes.
Sa dernière mise à jour elle aussi majeure du firmware Khi inclut désormais un chargeur de démarrage comparable à Phi, mais conforme à la réglementation du mode examen français.
Le mode examen si actif n'est plus désactivé lorsque tu bascules entre les firmwares via les raccourcis reset+
Techniquement, le chargeur de démarrage lorsqu'on lui demande de changer de firmware récupère la configuration éventuelle du mode examen dans le firmware actif jusqu'alors, et la migre vers le nouveau firmware demandé.
Intéressons-nous maintenant à la nouvelle possibilité de multiboot enfin compatible avec l'utilisation de l'application KhiCAS. Le nouveau bootloader (chargeur de démarrage) de Khi découpe la mémoire Flash en 3 slots, nommés ici 1, 2 et 3 :
Et c'est cela qui change tout, Bernard a sorti une version minimaliste du firmware Khi. Ne comprenant aucune application intégrée elle est dédiée au seul lancement des applications rajoutables dont KhiCAS entre autres.
Un avantage annexe de cette version minimaliste est qu'elle laisse bien davantage de RAM libre pour les applications, 176K au lieu de 97K !
Tu peux donc enfin obtenir à la fois les dernières fonctionnalités du firmware officiel Epsilon et l'application KhiCAS. Il te suffit :
Sa dernière mise à jour elle aussi majeure du firmware Khi inclut désormais un chargeur de démarrage comparable à Phi, mais conforme à la réglementation du mode examen français.
Le mode examen si actif n'est plus désactivé lorsque tu bascules entre les firmwares via les raccourcis reset+
1ou reset+
2, plus aucun danger pour toi !
Techniquement, le chargeur de démarrage lorsqu'on lui demande de changer de firmware récupère la configuration éventuelle du mode examen dans le firmware actif jusqu'alors, et la migre vers le nouveau firmware demandé.
Intéressons-nous maintenant à la nouvelle possibilité de multiboot enfin compatible avec l'utilisation de l'application KhiCAS. Le nouveau bootloader (chargeur de démarrage) de Khi découpe la mémoire Flash en 3 slots, nommés ici 1, 2 et 3 :
- le slot 1 de 3,5M correspond au début du slot A de Phi
- le slot 3 de 4M correspond exactement au slot B de Phi
- le slot 2 de 0,5M est un petit espace intermédiaire entre les deux
Et c'est cela qui change tout, Bernard a sorti une version minimaliste du firmware Khi. Ne comprenant aucune application intégrée elle est dédiée au seul lancement des applications rajoutables dont KhiCAS entre autres.
Un avantage annexe de cette version minimaliste est qu'elle laisse bien davantage de RAM libre pour les applications, 176K au lieu de 97K !
Tu peux donc enfin obtenir à la fois les dernières fonctionnalités du firmware officiel Epsilon et l'application KhiCAS. Il te suffit :
- d'installer Epsilon dans le slot 1
- d'installer la version minimaliste de Khi dans le slot 2
- d'installer l'application KhiCAS qui ira donc dans le slot 3
Supposons que tu dispose déjà d'une machine sous Phi ou Omega 2.0, voici comment migrer.
Pour remplacer Phi par le nouveau bootloader de Khi, il te faut :
Prochaine étape, mettre Epsilon dans une version récente dans le slot 1. Une fois son fichier récupéré, il te faut :
Voilà, le plus dur est fait. Maintenant, toujours avec la calculatrice en mode de mise à jour protégé via reset+
Tu disposes maintenant du meilleur des 2 mondes :
Pour remplacer Phi par le nouveau bootloader de Khi, il te faut :
- mettre la machine en mode de récupération autorisant la réécriture du bootloader avec le raccourci reset+
6
- te rendre sur le site de Khi
- cliquer sur le bouton Récupération pour charger et lancer le logiciel de récupération
- installer le nouveau bootloader amélioré et conforme pour la France avec le bouton multi-boot
Prochaine étape, mettre Epsilon dans une version récente dans le slot 1. Une fois son fichier récupéré, il te faut :
- mettre la calculatrice en mode de mise à jour protégé avec le raccourci reset+
4
- aller sur notre web-dfu, indiquer le fichier Epsilon à programmer et utiliser le bouton Flash Slot A
- soit tu l'as déjà sous la main parce que tu as installé Phi sur une machine qui avait été mise à jour avec Epsilon 18.2.3
- soit comme indiqué tu as déjà Epsilon 18 sur la calculatrice dans le slot B ou 3, et tu peux récupérer son fichier avec le même outil web-dfu via le bouton Dump Slot B
- soit il va te falloir te débrouiller pour le récupérer autrement, d'une façon illégale selon l'interprétation de la nouvelle licence (ou plus exactement de son absence) par NumWorks
Voilà, le plus dur est fait. Maintenant, toujours avec la calculatrice en mode de mise à jour protégé via reset+
4, il te suffit :
- d'installer la version minimaliste de Khi avec le bouton Khi slot 2
- d'installer les applis additionnelles dont KhiCAS avec le bouton de ton choix, soit KhiCAS stable soit KhiCAS alpha
Tu disposes maintenant du meilleur des 2 mondes :
- raccourci reset+
1
pour le firmware officiel Espilon avec ses dernières fonctionnalités - raccourci reset+
2
pour les applications additionnelles dont KhiCAS
Si par contre tu pars d'une calculatrice ne disposant pas encore de Phi, le plus simple est de commencer par l'installer pour ensuite suivre la procédure précédente de migration vers Khi.
Tutoriels d'installation :
Installation :
Source : viewtopic.php?f=101&t=25584&p=267401#p267401