#1 Le 20/11/2010, à 22:03
- minymun
[Astuce et Résumé] Xenomai & Ubuntu
Bonjour le Forum, bonjour à toutes et tous.
Mon premier message ici, revenant de l'Ubuntu Party de Toulouse , j'ai particulièrement apprécié la conférence de Thomas Petazzoni sur le Temps Réel. (Sujet m'intéressant à titre personnel depuis un petit paquet de temps, bref) Une conférence de grande qualité, particulièrement claire malgrès une certaine densité, et une approche pédagogique du sujet avec des exemples pour tout le monde. Bref, un régal. C'est pourquoi je poste mon premier message, en pensant à ceux qui ont été intéressés par le sujet abordé ce soir, et souhaiteraient rapidement commencer avec Xenomai.. Voilà, donc pas de blabla sur ce-quoi-où-comment-pourquoi-pour-qui. Vous trouverez, si vous ne connaissez pas ce sujet, toutes les infos nécessaires sur les sites adéquats. Le but de ce mini-tuto est de faire un résumé rapide, et en français, pour faire fonctionner Xenomai sur Ubuntu.
(A noter que ce tuto est une reprise d'un écrit déjà fait par ailleurs, et qu'il concerne la version 2.5.2 de Xenomai. Celle qui est "en prod" chez moi. Ce résumé sera mis à niveau rapidement afin de coller à la dernière version sortie le 20-10, la 2.5.5.2. A noter aussi qu'ici l'exemple est pour de l'x86-32, si vous souhaitez la même chose pour x86-64, remplacez simplement les bons arguments aux bons endroits. Et bien sûr le -j4 est à changer en fonction de votre ordinateur (peut être un -j64 ? hihi), ainsi que l'option smp.)
Pré-recquis :
_ être à l'aise avec le shell (c'est quoi le ../ ?)
_ avoir une relativement bonne connaissance de la configuration du noyau (c'est quoi la diff entre menuconfig et oldconfig et comment marche les "deps" dans xconfig ?)
_ connaître les bases des options de compilation de gcc, et de l'env de votre distrib.
_ avoir envie de tester rapidement Xenomai (kezako ?)
_ connaître les bases théoriques du fonctionnement du RT (sous wow ça pluss vite c'est plusss mieux)
Pour le reste, du gros codaz ou de la simple culture, à vous de voir!
Bref, le but est d'être concis, ne pas être obligé de jongler entre la doc de Adéos, celle de Xenomai, etc ... pour démarrer. Un starter-kit, donc ; allez zou c'est parti :
1) Récupérez Adeos :
http://download.gna.org/adeos/patches/v … 6-01.patch
2) Récupérez Xenomai :
http://download.gna.org/xenomai/stable/ … .2.tar.bz2
3) Récupérez le kernel vanille supporté correspondant :
http://www.kernel.org/pub/linux/kernel/ … 2.7.tar.gz
4) Créer le dossier :
/usr/src/xenomai
5) Déplacez les tarball récupérés dans ce dossier, puis décompressez les, et déplacez le patch adeos dans le dossier des sources du kernel
6) Patchez le kernel
patch -p1 < adeos-ipipe-2.6.32.7-x86-2.6-01.patch
7) Préparez xenomai
cd ../xenomai-2.5.2/
scripts/prepare-kernel.sh --linux=/usr/src/xenomai/linux-2.6.32.7/ --adeos=/usr/src/xenomai/adeos-ipipe-2.6.32.7-x86-2.6-01.patch --arch=x86
8) Préparez votre kernel
make menuconfig
(Attention à ne pas choisir des options contradictoires avec l'utilisation particulière de Xenomai, bien que cela n'impacte que peu notre usage ici et ne nécessite pas d'être détaillé)
9) Compilez votre kernel
make -j4 && make -j4 modules && make modules_install && make install
10) ../xenomai-2.5.2/configure --enable-x86-sep --enable-smp --host=i686-linux CFLAGS="-m32 -O2" LDFLAGS="-m32"
make install
11) FIN
Bootez sur votre nouveau kernel.
Have Fun
Variante, si vous utilisez le driver propriétaire Nvidia (qui n'est pas réputé correct pour cela, mutex toussa, bref) : c'est possible aussi ! "Avec un peu d'astuce, d'espièglerie c'est la vie de geeky". Bien entendu, pas de leçon de morale sur le blob ni rien d'autre. Simplement savoir que c'est possible si vous disposez d'un PC x86 équipé d'une carte graphique Nvidia, de quant même faire tourner Xenomai en dessous du noyau (enfin, le pipe ainsi que le micro-sched nucleus), sans pour autant être obligé de, à chaque fois que vous booter sur ce kernel là, être obligé de "casser" Xorg. Voici l'astuce :
Suivez les mêmes instructions jusqu'au point 9. Mais ne faites pas le point 10 tout de suite, à la place :
10) Rebootez sur le kernel compilé
11) Installez le dernier driver nvidia : sh NVIDIA-Linux-x86-blabla-pkg1.run
12) Archivez les modules : mv /lib/modules/2.6.32.7/ /lib/modules/old
13) Finissez votre kernel, déplacez vous dans les sources, puis :
../xenomai-2.5.2/configure --enable-x86-sep --enable-smp --host=i686-linux CFLAGS="-m32 -O2" LDFLAGS="-m32"
make install
14) Récupérez l'arborescence nv et le module nvidia du old et copiez les dans la nouvelle arbo de vos modules
15) FIN
Bootez sur votre nouveau kernel.
Have Fun
Voilà voilà.
J'ai conscience du côté peu utile du tuto pour une immense majorité. De plus x86 n'est pas la cible privilégie, et enfin avec le blob nvidia c'est juste du luxe mostly useless :p
Mais cela peut être sympa pour bien commencer, et vite, avec ce "starter-kit" pour Xenomai, pour ceux qui, rentrant de l'Ubuntu Party, iraient se jeter sur la doc de Xenomai.
Voilà. Et à propos de doc :
http://www.xenomai.org/documentation/xe … ME.INSTALL
http://www.xenomai.org/index.php/FAQs
Allez plus loin :
http://www.xenomai.org/documentation/xe … files.html
Dernière modification par minymun (Le 21/11/2010, à 00:22)
Hors ligne