Les choix matériels imposent les choix logiciels en général, mais dans le cas de Linux, les choix logiciels imposent aussi des choix matériels si l'on veut que ces derniers soient supportés par Linux sans tomber dans le piège du développement de drivers spécifiques, ce qui n'est pas le but ici dans le cas d'un projet d'intégration de système.
Un maximum de projets libres doit être réutilisé.
Les contraintes logicielles sont les suivantes :
La plateforme OM-Cube est sous Linux version 2.4.x ou supérieure. Elle démarre depuis la carte mémoire Compact Flash. On n'a pas besoin de disque dur.
Un écran de type splash screen apparaît au démarrage pour remplacer les traces de boot classiques de Linux.
Un environnement graphique minimal doit être utilisé : mode Frame Buffer ou X11.
Un lecteur multimédia.
Un gestionnaire d'affichage sur écran LCD.
Un gestionnaire de récepteur IR.
La sortie vidéo est soit la sortie VGA, soit la sortie TV-OUT.
Cela nous donne en fait dans l'ordre les projets libres sélectionnés suivants :
Distribution Fedora : http://fedora.redhat.com/
Noyau Linux : http://www.linux.org/
Lecteur multimédia : projet Mplayer : http://www.mplayerhq.hu
Splash screen : projet boot splash : http://www.bootsplash.org
Afficheur LCD : projet LCDProc : http://lcdproc.omnipotent.net
Contrôleur IR : projet LIRC : http://www.lirc.org
La boîte à outils "tout en un" BusyBox (projet BusyBox : www.busybox.net) a été utilisée pour avoir les commandes Linux de base (en particulier insmod…) afin de limiter l'empreinte mémoire du projet OM-Cube en mémoire Compact Flash.