linux realtime kernel multimedia modprobe.preload - Installation - Linux et OS Alternatifs
Marsh Posté le 04-11-2006 à 11:19:06
pas de méthode simple à te proposer à part de créer un service qui teste la version du noyau et charge le module correspondant (à adapter en fonction des uname -r)
if [ `uname -r` = 2.6.17.5 ]; |
suivi de
if [ `uname -r` = 2.6.17.13mm ]; |
à mettre par exemple à la fin de rc.local ou bien dans un service qui démarre plus tôt suivant quand tu as besoin que ce soit inséré.
Marsh Posté le 24-11-2006 à 19:33:20
cela ne fonctionne pas...
peut-être est-ce lié à un problème de typograhie?
Faut-il écrire :
if ["uname -r" =2.6.17.5]
then modprobe capability
etc.
avec des guillemets au lieu d'apostrophes
ou
f ["uname -r" ="2.6.17.5"]
then modprobe capability
etc.
avec des guillemets à la réponse attendue
Marsh Posté le 24-11-2006 à 19:50:19
Il te faut un espace avant et apres le [ et le ]
Marsh Posté le 24-11-2006 à 19:59:54
merci!
j'essaierai plus tard
mais je laisserai un message pour dire si c'est la solution
Marsh Posté le 24-11-2006 à 20:50:13
et il faut que tu compares uname -r à sa valeur exacte. Par exemple pour moi ce serais :
[jules@tue-amour ~]$ uname -r
2.6.12-27mdk
Marsh Posté le 25-11-2006 à 01:14:40
ça ne fonctionne toujours pas, il doit y avoir un problème de syntaxe ou de signes (ce que j'avais pris pour des apostrophes ' sont en fait des accents `)
(j'avais adapté la réponse attendue au nom des kernels effectivement présents)
voici mon fichier rc.local dans le dossier rc.d
if [ `uname -r` = 2.6.17-6mdv ] ;
then modprobe capability
else exit 0
fi
if [ `uname -r` = 2.6.17.13-mm-desktop-3mdv ] ;
then modprobe realtime mlock=1 gid=81
else exit 0
fi
/usr/bin/asfxload -i
/usr/bin/asfxload /etc/midi/8MBGMSCustom.sf2
touch /var/lock/subsys/local
NB j'ai supprimé dans le fichier modprobe.preload
la ligne demandant le chargement de capability
Mais quel que soit le kernel choisi, lsmod me montre que le module capability a été chargé... (et pas realtime avec le kernel multimedia)
Marsh Posté le 25-11-2006 à 01:53:03
Mille excuses à ceux que j'ai fait plancher
en fait, avec toutes ces manipulations, le module capability n'était chargé qu'avec le kernel multimedia....
Le kernel normal de mandriva 2007 (2.6.17-6mdv) ne comporte pas (plus?) de module capability et le fichier rc.local modifié n'avait aucun effet (lsmod ne montre pas, et pour cause, le module capability quand on utilise ce kernel)
Le kernel multimedia (2.6.17.13-mm-desktop-3mdv) comporte, lui, plusieurs modules "security" : capability, realtime, commoncap;... et ces modifications n'avaient d'autre effet que d'installer le module capability en tous les cas!
Je peux donc utiliser un modprobe.preload comportant la ligne
realtime mlock=1 gid=81
cette ligne de modprobe.preload n'aura un effet que si le kernel multimedia est utilisé, et n'aura pas d'effet si c'est le kernel ordinaire qui l'est....
Il n'est donc plus nécessaire d'avoir d'option d'installations différentes selon le noyau utilisé. C'est donc plus simple que dans le passé.... et bon à savoir pour ceux qui ont besoin de faible latence pour la Musique Assistée par Ordinateur : on fonctionne quasiment en temps réel ce qui est idéal pour le multipiste ou l'utilisation d'effets : le noyau multimedia étant déjà compilé avec les patchs nécessaires (merci Mandriva)
Cela étant je suis preneur pour toute explication sur la syntaxe de rc.local (toute occasion d'apprendre est bonne)
Marsh Posté le 25-11-2006 à 11:56:39
if [ `uname -r` = 2.6.12-27mdk ] ; |
chez moi ça marche, il met bien coucou ou pas coucou quand il faut.
Marsh Posté le 03-11-2006 à 19:25:36
Petit problème à résoudre
Deux kernels : un normal 2.6.17.5
un multimedia 2.6.17.13mm
Pour deux usages différents (Bureautique bidouillage et maintenance ou Musique Assistée par Ordinateur)
deux modules différents à charger (s'excluant l'un et l'autre)
capability pour le "normal"
realtime mlock=1 gid=81 pour le "multimedia"
Deux versions de modprobe.preload donc !
Comment automatiser le lancement de l'une ou de l'autre version de modprobe.preload (est-ce possible avec lilo?)
Actuellement je suis obligé d'anticiper : avant d'arrêter l'ordinateur je dois créer un lien (modprobe.preload) vers l'une de ces deux versions (modprobe.preloadnormal ou modprobe.preloadrealtime) en fonction du kernel que j'utiliserai!!!
Quelqu'un aurait-il une idée?
Merci