Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'un firmware basé sur une distri Linux

9 mars 2019 à 18:51:15

Bonjour,
Travaillant actuellement sur un projet basé sur Linux, destiné à tourner sur un Raspberry Pi, qui n'exécuteras qu'une seule application.
Je me posais la question de la création d'un OS ultra léger, contenant uniquement les éléments dont j'ai besoin, qui se lancerais à la manière du firmware de la Freebox (basé sur Linux).
C'est a dire qu'au lancement du hardware, soit affiché simplement le nom du projet, la recherche de mise a jour, les étapes de l'initialisation, et qu'une fois prêt, mon application (sûrement développer en Java) soit exécuté en fullscreen sans possibilité de la fermer.
Jai trouvé des projets du type Linux Fromage Scratch ou d'autres qui parte d'une distribution, en copie le contenu minimal et la compile.
Ma question est : suis je sur la bonne voie? Je fait appel à ceux qui ont déjà réalisé ce type d'opération pour me conseiller par leur vécu ou ceux qui ont déjà utilisé la méthode Linux From Scratch pour me dire si cela me permettrait de réaliser ce que je souhaite.
D'autres idée peut-être ?
Cordialement.
  • Partager sur Facebook
  • Partager sur Twitter

Envie de créer un jeu web? Quelque soit le langage, retrouve la communauté JeuWeb

Page perso: https://www.maz.digital

10 mars 2019 à 13:00:43

Salut,

Avant de partir sur un Linux From Scratch, tu peux partir sur une netinstall de Raspian qui est quand même optimisée pour le Pi et ainsi avoir une base minimale où tu installeras X.org et un gestionnaire de fenêtres. Si malgré tout ce n'est toujours pas assez léger, tu pourras alors partir sur un Linux From Scratch.

Mais il faut savoir que même une installation complète de Raspbian reste légère.

-
Edité par Typhlos 10 mars 2019 à 13:01:23

  • Partager sur Facebook
  • Partager sur Twitter
11 mars 2019 à 8:10:04

Bonjour,

Je pense qu'il y a confusion sur ce qu'est un firmware ( différent d'un OS). Si tu veux développer ton propre firmware sur PI, tu vas avoir besoin d'un language compilé comme C + assembleur à mon avis. Pour compiler ton noyau aussi tu me diras ^^

Reste à savoir ce que fera ton programme exactement. L'architecture matérielle et logicielle en découlera.

  • Partager sur Facebook
  • Partager sur Twitter
11 mars 2019 à 11:36:40

Bonne idée c'est une bonne pratique dans l'industrie mais partir sur Linux From Scratch n'est pas une bonne idée car c'est orienté x86/x86-64 et pas vraiment adapté à la rasberry PI.

De plus Linux From Scratch n'est pas forcément très minimaliste et est conçu pour avoir tout le système accessible en lecture écriture ce qui est une très mauvaise pratique.

Le mieux c'est d'utiliser des générateurs de distributions de firmware embarqué.

Les plus utiliser sont Yocto project (très orienté industrie, très complet mais un peut compliqué) et Buildroot (Plus simple).

Pour buildroot tu peux le télécharger ici.

Une fois télécharger et les dépendances installer tu peux l'utiliser de cette manière:

Tu te place dans le dossier de buildroot.

Puis tu initialises un dossier de build avec une config, par exemple :

make O=my_firmware raspberrypi3_64_defconfig

Pour une rasberrypi3 (les configs sont des le dossier configs).

Tu personnalises ton firmware avec :

make O=my_firmware makeconfig

Pour changer les options du kernel:

make O=my_firmware kernel_config

Puis tu lances le build:

make O=my_firmware

Tu attend longtemps le temps que cela termine puis le résultat sera  dans le dossiers my_firmware/images.

KoaTao a écrit:

Bonjour,

Je pense qu'il y a confusion sur ce qu'est un firmware ( différent d'un OS).

Non c'est toi qui n'a pas compris ce qu'est un firmware.

  • Partager sur Facebook
  • Partager sur Twitter
12 mars 2019 à 10:14:20

Je suis plutôt d'accord avec KaoTao sur ce qu'est un firmware...Qui relève plus d'un BIOS que d'un OS...Mais bon...
Pour le reste n'importe quel linux en install minimale avec un peu de config Xwindow sans gestionnaire de fenêtre ça devrait faire l'affaire.
La freebox server ou player c'est très différent, l'un à simplement android TV comme OS, l'autre un OS qui ne répond qu'aux requêtes http, qui est un système fenêtré dans un navigateur pour configurer sa box. (il n'a pas d'Xwindow ni rien, un vieux truc en mode texte fait l'affaire pour ce job)
  • Partager sur Facebook
  • Partager sur Twitter
12 mars 2019 à 13:23:11

Un firmware c'est logicielle qui fait fonctionner un matériel, un BIOS n'est qu'un exemple de firmware et un OS n'est qu'une partie du firmware.

L'architecture d'un firmware est en générale la suivante:

  • Partager sur Facebook
  • Partager sur Twitter