IGD

IGD, ou «Initialisation et Gestion de Démarrage», est un logiciel embarqué destiné à l'initialisation matérielle et au lancement de l'environnement applicatif d'ordinateurs.

Prototype

IGD est actuellement à l'état de prototype, son usage est réservé de fait aux développeurs ayant un moyen extérieur de re-flasher la puce contenant le logiciel.

Licence

IGD est distribué selon les termes de la licence GPLv3 ou ultérieure.

Développement

Le langage de programmation utilisé est C11, avec de l'assembleur pour certaines opérations spécifiques. L'accent est mis sur le plus de code strictement conforme possible, en isolant les usages non-strictement conformes définis par l'implémentation.

Il est possible d'utiliser gdb pour le déverminage par le protocole distant, par exemple à travers un port série, et ceci très tôt dans l'initialisation.

La langue utilisée pour le développement est le français.

Pour clôner le dépôt git, exécutez :

$ git clone git://git.tuxfamily.org/gitroot/igd/igd.git

Pour mettre à jour votre copie :

$ git pull

Pour s'inscrire à la liste de diffusion de développement, envoyez subscribe à igd-dev-request@lists.tuxfamily.org.

Pour se désinscrire, envoyez unsubscribe à igd-dev-request@lists.tuxfamily.org.

Les archives de la liste de diffusion est accessible ici.

Matériel supporté

Logiciels requis

Les outils suivants sont nécessaires à la construction :

Pour écrire une EEPROM, vous aurez besoin de flashrom.

Démarrage

Le démarrage s'effectue sur une partition EFI System Partition formatée en ext2, ext3, ou ext4. La table des partitions doit être en GPT.

Le chargement cherche une configuration suivant The Boot Loader Specification. Les entrées doivent utiliser le mot-clé linux pour désigner le noyau à charger. Le chargement d'initrd n'a pas été fortement testé.

Il n'y a aucune interaction utilisateur lors du démarrage. Une erreur dans la configuration et l'ordinateur reste bloqué sans démarrer.

En développement

À plus long terme :