<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Compilation croisée d'un module Linux pour Rasberry Pi - Chicoree</title><link>http://www.chicoree.fr/w/Compilation_crois%C3%A9e_d%27un_module_Linux_pour_Rasberry_Pi</link><atom:link href="http://www.chicoree.fr/w/Compilation_crois%C3%A9e_d%27un_module_Linux_pour_Rasberry_Pi?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[Le noyau Linux est un noyau monolithique modulaire. Concrètement, cela veut dire qu'il est possible de dynamiquement y charger des modules logiciels pour en étendre les fonctionnalités. Écrire un nouveau module est donc une des solutions à envisager quand on veut adapter le système d'exploitation aux spécificités matérielles d'une plate-forme embarquée. Sauf que sur un système embarqué, les ressources sont souvent limités – ce qui rend nécessaire la compilation croisée. Comme il s'agit d'une plate-forme populaire et bon marché, voici donc comment procéder à la compilation croisée d'un module Linux pour Rasberry Pi.
]]></description><item><title>1 Toolchain</title><link>http://www.chicoree.fr/w/Compilation_crois%C3%A9e_d%27un_module_Linux_pour_Rasberry_Pi#Toolchain</link><description><![CDATA[<p>Avant d'aller plus loin, vous devez disposer sur votre machine <i>hôte</i> (celle qui sert à compiler) de l'ensemble des outils nécessaires à la compilation pour votre cible. C'est ce qu'on appelle la <i>toolchain</i>. Si ce n'est déjà fait, je vous renvoie sur l'article compagnon de celui-ci: <a>Compilation croisée facile pour Raspberry Pi</a>.
</p>]]></description></item><item><title>2 Cross-compilation module pour RPi</title><link>http://www.chicoree.fr/w/Compilation_crois%C3%A9e_d%27un_module_Linux_pour_Rasberry_Pi#Cross-compilation_module_pour_RPi</link><description><![CDATA[<p>Pour pouvoir compiler un module pour le noyau Linux, vous devez ensuite disposer des sources adéquates. Il s'agit bien ici des sources du noyau de la <i>cible</i>. Et pas celles de l'hôte. Dans mon cas, ma carte Raspberry Pi tourne sous <a>Raspbian</a> (basé sur le noyau Linux 3.2.27). J'ai donc téléchargé l'archive correspondante à partir du dépôt GitHub adéquat:
</p>]]></description></item><item><title>2.1 Récupérer les sources du noyau</title><link>http://www.chicoree.fr/w/Compilation_crois%C3%A9e_d%27un_module_Linux_pour_Rasberry_Pi#R.C3.A9cup.C3.A9rer_les_sources_du_noyau</link><description><![CDATA[<p>Pour pouvoir compiler un module pour le noyau Linux, vous devez ensuite disposer des sources adéquates. Il s'agit bien ici des sources du noyau de la <i>cible</i>. Et pas celles de l'hôte. Dans mon cas, ma carte Raspberry Pi tourne sous <a>Raspbian</a> (basé sur le noyau Linux 3.2.27). J'ai donc téléchargé l'archive correspondante à partir du dépôt GitHub adéquat:
</p>]]></description></item><item><title>2.2 Compiler son propre module</title><link>http://www.chicoree.fr/w/Compilation_crois%C3%A9e_d%27un_module_Linux_pour_Rasberry_Pi#Compiler_son_propre_module</link><description><![CDATA[<p>Une fois les outils en place, écrire son propre module revient à écrire un programme C contenant les points d'entrée <i>init_module</i> (appelé par le kernel au <i>chargement</i> du module) et <i>cleanup_module</i> (appelé par le kernel au <i>déchargement</i> du module): 
</p>]]></description></item><item><title>3 Ressources</title><link>http://www.chicoree.fr/w/Compilation_crois%C3%A9e_d%27un_module_Linux_pour_Rasberry_Pi#Ressources</link><description/></item></channel></rss>
