Temps réel, Debian ou Ubuntu

RE

J’ai récupérer linux-2.6.25.4.tar.bz2 sur kernel.org

j’ai fait un:

j’ai ça comme message, est correcte?

tar: Statut d'erreur reporté d'erreurs précédentes. linux-2.6.25.4.tar.bz2 - unknown extension, checking with "file" linux-2.6.25.4.tar.bz2 contains bzip2-compressed data, determining data type...
~$:

Ben, t’as le paquet unp d’installe? Ca te decompresse ton fichier .tar.bz2 ou pas? Si non, c’est que c’est pas bon.

edit : sinon essayes avec n’importe quoi qui decompresse les .tar.bz2, c’est pas important que ce soit unp qui le fasse ou pas.

Salut

Merci pour le conseil de unp Youki, Bon je résume un peu ce que je fais hier

J’ai réussit à compiler le noyau 2.6.25 avec le patch RT

il faut les paquets suivantes:

  • kerkel-package pour la commande make-kpkg clean
  • fakeroot
  • libncurse5-dev pour la compilation du noyau
  • unp pour <dézipper>
  • bzip

je suis allé sur ces pages http://kernel.org/pub/linux/kernel/v2.6/
et j’ai télécharger le paquet linux-2.6.25.4.tar.bz2

http://www.kernel.org/pub/linux/kernel/projects/rt/
patch-2.6.25.4-rt3.bz2

j’ai suivis pas à pas le tuto que Youki a donnée, C’est à dire

#: mkdir /usr/src/KERKEL #: cd KERNEL
il faut ensuite déplacer les fichiers télécharger dans KERNEL
ensuite :

[code]unp linux-2.6.25.4.tar.bz2
mv linux-2.6.25.4 linux-2.6.25.4-rt3
cd linux-2.6.25.4-rt3
bzcat …/patch-2.6.25.4-rt3.bz2 |patch -p1

make menuconfig
Processor type and features> Preemption Mode (Complete Preemption (Real-Time))
Processor type and features>Timer frequency (1000 HZ)
make-kpkg clean
time fakeroot make-kpkg --initrd -rev mz1 kernel_image kernel_headers
[/code]

Attention à l’étape time fakeroot make-kpkg --initrd -rev mz1 kernel_image kernel_headers
à un moment, on dirait que le PC reste bloqué (5min)La dernier message de la console est debian control
Ne faites pas ( comme moi ) un Ctrl C. Allez plutôt prendre un café :smt003

Une fois que le Terminale vous rend la main, faites :

# dpkg -i ../linux-headers-*.deb ../linux-image-*.deb

:smt041 Yoipi au démarrage, le Grub m’a ajouté mon noyau patché RT.

Je vais faire des mesures et je vous ferai part de mes analyses avec le noyau 2.6.18 et le nouveau noyau 2.6.25 patché RT.

à bientôt GetDr

Voilà

J’ai booté sur mon nouveau noyau 2.6.25 RT et je dois recompiler un module pour ma carte PCI.

Là, le ciel m’est tombé sur la tête: :open_mouth: :open_mouth: :open_mouth: :open_mouth:
Le compilateur me dit que la carte support les Kernel 2.6.0 à 2.6.22.

Super !!! je suis content :frowning:

Donc je suis allé récupéré Linux linux-2.6.22.1.tar.bz2 sauf que je ne trouve pas de patch RT pour ce noyau à part

patch-2.6.22.1-rt2-broken-out.tar.bz2 12-Jul-2007 15:24 448K
patch-2.6.22.1-rt2-broken-out.tar.bz2.sign 12-Jul-2007 15:24 248
patch-2.6.22.1-rt2-broken-out.tar.gz 12-Jul-2007 15:24 604K
patch-2.6.22.1-rt2-broken-out.tar.gz.sign 12-Jul-2007 15:24 248
patch-2.6.22.1-rt2-broken-out.tar.sign

Est que ça veut dire broken-out ???

En cliquant sur “older” sur la page des noyaux RT tu tombes sur cette page :
http://www.kernel.org/pub/linux/kernel/projects/rt/older/

et la il y a surement le patch que tu cherches. C’est la que j’avais trouve mon patch et j’avais file le lien.

[quote=“http://www.kernel.org/pub/linux/kernel/projects/rt/older/”]
patch-2.6.22.1-rt1 12-Jul-2007 12:00 1.7M
patch-2.6.22.1-rt2 12-Jul-2007 15:16 1.7M [/quote]

Salut Youki

Merci, j’avais trouvé, en fait j’ai récupéré patch-2.6.22.1-rt1 ensuite il faut le compressé en patch-2.6.22.1-rt1.b2z

Et on est repartie pour un tour !!

Cette commande dure sur ma machine 89min38s :smt003 :smt005.

Mes résultat de mesure sont très intéressents. Je mettrai ici dans les jours qui viennent.

je remonte le fil rien que parce que j’ai fait mon 2.6.18
chuis bien content

@getdr : si tu as un cpu double coeur (ou mieux) tu peux paralléliser la compil et gagner du temps, sur ma bécane de compil il me faut 20mn pour sortir un noyau complet et pas du tout optimisé sur la taille de code
et sinon tes soucis de mesure sont réglés ?

Salut antalgeek

Oui merci

Voila j’ai un IBM P4 d’intel

En fait mon noyau 2.6.22.1 est compilé par défaut, je voudrais le refaire, est qu’il va écraser l’actuel? ou dois je le renommer par .old pour le garder?

En fait j’ai lu que le patch préemptif améliore le noyau pour le temps de latence, mais ne le rend pas temps réel ?
Je voudrais testé les patchs comme Xenomai, RTLinux ou Rtai …
QQ connait la procédure??

Merci

Lorsque tu compiles ou installe un nouveau noyau, il ne doit pas avoir le même nom que l’ancien. Comme ça en cas de problème, tu bootes sur l’ancien.

Content que tes perf soient au rendez-vous

Concernant le temps réel avec RTAI, tout ce que je peux te dire c’est que le module est accessible depuis module-assistant.

Tu as plein de doc sur http://www.rtai.org et sinon là https://www.rtai.org/documentation/magma/html/api/

Je devrais pouvoir t’en dire plus mais vu que je suis une grosse feignasse je n’y ai pas encore touché.

RE

la semaine dernier j’ai compilé le noyau avec un patch préemtion
Mes résultats de mesure sont mieux que la version du noyau de base.
Mais je suis à la limite du temps réel, c’est à dire que les résultats de mesures sont de lors de +/-10ms

Je voudrais descendre plus bas, c’est à dire +/-5ms, ça serai parfait :slightly_smiling:

Donc je voudrais compiler un noyau Real Time DUR, je donc trouver un tuto ici
http://labwindows.free.fr/dotclear/index.php?2007/06/21/104-installation-dune-debian-40-netinst-mini-temps-reel-avec-le-patch-rtai-35-et-qui-se-passe-bien
j’ai suivit pas à pas,
j’obtiens un autre noyau. je boot, mais j’ai eu un pb de serveur X.
mais bon ça ne m’empêche pas de lance mes mesures en ligne de commande.

Résultats des mesures

j’ai moins de retard d’enregistrement que le patch préemtif, mais j’ai des retards qui dépassent les +/10 ms . Je ne sais pas si j’ai bien compilier avec le patch Rtai ou pas ou faut il lance certaine commande avant la mesure ou encore inclure les fonctions de RTai dans mon code (prog de mesure) …

[quote=“pleiades”]Salut,

J’utilise Xenomai, qui marche très bien, vraiment temps réel dur.
En attendant preempt-rt d’Ingo Molnár, c’est une excellente solution.

C’est indépendant de la distribution.

pl.[/quote]

Salut, pleiades

Je viens de compiler mon noyau 2.6.19 avec xenomai 2.3.0 ?
j’ai lance les test dans /usr/xenomai/share/xenmai/latency/run

Comment tu interprète ces résultats?
ET Commet utiliser Xenomai avec une autre application ?

Merci

Pour passer le temps je tente de me compiler le noyau 2.6.26 en RT, mais j’obtiens invariablement ca :

[quote] CC [M] drivers/infiniband/hw/ipath/ipath_verbs.o
drivers/infiniband/hw/ipath/ipath_verbs.c: In function ‘sdma_complete’:
drivers/infiniband/hw/ipath/ipath_verbs.c:1028: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1028: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1035: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1035: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1038: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1038: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1040: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1040: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c: In function ‘decrement_dma_busy’:
drivers/infiniband/hw/ipath/ipath_verbs.c:1056: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1056: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1061: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1061: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c: In function ‘ipath_verbs_send_pio’:
drivers/infiniband/hw/ipath/ipath_verbs.c:1295: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1295: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1297: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1297: warning: comparison of distinct pointer types lacks a cast
make[4]: *** [drivers/infiniband/hw/ipath/ipath_verbs.o] Erreur 1
make[3]: *** [drivers/infiniband/hw/ipath] Erreur 2
make[2]: *** [drivers/infiniband] Erreur 2
make[1]: *** [drivers] Erreur 2
make[1]: quittant le répertoire « /home/kaosyouki/Archives/Kernel/Compil/linux-source-2.6.26 »
make: *** [debian/stamp-build-kernel] Erreur 2[/quote]
Quelqu’un a une solution a me proposer pour regler ce probleme?

temps reel c’est ton pc sur batterie,sans internet.“temps reel” c’est un systeme de memoire qui evite le plantage a la transition d’une instruction ou d’un programme vers un autre,c’est souvent virtuel (appartenant a la nature qui nous entoures)

Excuse-moi fergo, je ne comprend pas, peux tu détailler tes arguments stp !

[quote=“getdr”]
Excuse-moi fergo, je ne comprend pas, peux tu détailler tes arguments stp ![/quote]
Je crois qu’il n’y a rien a comprendre et que tu est juste en train de l’inviter a pourrir ce fil. :wink:

Fergo averti !

Si c’est fergo qui est averti, j’attends des excuses pour avoir reçu un message personnel me menaçant d’expulsion!

Hum, je me permets de me citer moi-meme pour retourner au sujet. On ne sait jamais, si y a un expert de la compil de noyau qui passe la par hasard et qui peut m’aider…

[quote=“youki”]Pour passer le temps je tente de me compiler le noyau 2.6.26 en RT, mais j’obtiens invariablement ca :

[quote] CC [M] drivers/infiniband/hw/ipath/ipath_verbs.o
drivers/infiniband/hw/ipath/ipath_verbs.c: In function ‘sdma_complete’:
drivers/infiniband/hw/ipath/ipath_verbs.c:1028: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1028: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1035: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1035: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1038: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1038: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1040: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1040: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c: In function ‘decrement_dma_busy’:
drivers/infiniband/hw/ipath/ipath_verbs.c:1056: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1056: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1061: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1061: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c: In function ‘ipath_verbs_send_pio’:
drivers/infiniband/hw/ipath/ipath_verbs.c:1295: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1295: warning: comparison of distinct pointer types lacks a cast
drivers/infiniband/hw/ipath/ipath_verbs.c:1297: error: size of array ‘type name’ is negative
drivers/infiniband/hw/ipath/ipath_verbs.c:1297: warning: comparison of distinct pointer types lacks a cast
make[4]: *** [drivers/infiniband/hw/ipath/ipath_verbs.o] Erreur 1
make[3]: *** [drivers/infiniband/hw/ipath] Erreur 2
make[2]: *** [drivers/infiniband] Erreur 2
make[1]: *** [drivers] Erreur 2
make[1]: quittant le répertoire « /home/kaosyouki/Archives/Kernel/Compil/linux-source-2.6.26 »
make: *** [debian/stamp-build-kernel] Erreur 2[/quote]
Quelqu’un a une solution a me proposer pour regler ce probleme?[/quote]

Si c’est fergo qui est averti, j’attends des excuses pour avoir reçu un message personnel me menaçant d’expulsion![/quote]Il s’agit d’une erreur et je te l’ai précisé en MP.
Mais, si tu le veux,
J’ai l’honneur de te demander de bien vouloir accepter l’expression de mes plus plates excuses.
Ça te convient ? :mrgreen: