Guide du developpeur Telmi OS
Cette page est un point de depart pour contribuer au développement de Telmi Os. Une base pour le portage sur d'autres plateformes et tout autre projet autour de Telmi..
WIP
Pour toute question concernant le développement de Telmi et de Story Teller, vous êtes bienvenus sur le canal dédié "développement" du serveur Discord!
Description
Telmi OS, ou Telmi Story Teller a été conçu pour remplacer l'OS des consoles de retro-gaming Miyoo mini et Miyoo mini plus, fonctionnant sous Linux (OnionOS ) TelmiOS est écrit en C par DantSu sous licence GPLv3, son code est disponible ici.
Il se compose de 3 parties principales:
- Le lecteur:
StoryTeller utilise Libmpg123.so.0 une libraire compatible SDL2 pour lire les mp3 voir src/storyTeller/music_player.h
- La sélection des histoires:
Voir src/storyTeller/app_selector.h
- Le format Studio et Telmi: La gestion des formats d'histoires interactives ( inventaires, etc..).
La partie du code peut être la plus importante, la lecture du fichier Json de l'histoire et la gestion du déroulé de celle-ci..
Voir src/storyTeller/stories_reader.h
Voir aussi cette documentation (générée par IA)
Architecture Miyoo/ Onion OS
La Miyoo mini est basée sur l'architecture ARMv7 ( 32bits)
L'affichage est géré par la bibliothèque SDL (v2)
WIP
Développement
Lancer une session SSH
Installation d'un serveur dropbear pour copier et envoyer des fichiers sur la Miyoo en utilisant la connexion wifi ( permet de gagner du temps en évitant de sortir et rentrer la carte Sd a chaque version).
WIP
Compilation pour la Miyoo
Voir Makefile
- Pour faire un build de test
Tout devrai être automatique:
make with-toolchain CMD=build
- Pour créer une nouvelle release avec le .zip et le -update.zip :
(Penser a supprimer les répertoires : build, cache, release)
make with-toolchain CMD=release
Les fichiers zip seront enregistrés dans /release
Toolchain
Normalement, vous n'aurez pas à vous en soucier, le Makefile télécharge automatiquement les outils et lance docker.
La toolchain conseillée pour la compilation est la "miyoo mini toolchain": Son nom interne est "arm-linux-gnueabihf" donc compatible ArmHF
TOOLCHAIN := aemiii91/miyoomini-toolchain:latest
Une toolchain est aussi disponible ici
Une procédure est également disponible dans la documentation OnionOS