execution automatique de module-assistant

Le
JJL
Bonjour,

J'ai une passerelle avec une carte wifi ralink. J'installe le pilote
avec module-assistant, pour cela pas de problème.
A chaque maj noyau, il faut que je refasse la manip :
module-assistant --kvers-list 2.6.18-6-686 auto-install rt2500-source
avant de rebooter, sinon je me retrouve avec le nouveau noyau mais pas
de réseau pour télécharger les headers du nouveau kernel.

Evidement, une fois sur deux j'oublie et il faut que je reboote deux
fois pour récupérer le réseau sur mon nouveau noyau.

Ma question est donc : ai-je un moyen d'executer automatiquement m-a
quand le noyau est mis-à-jour (j'utilise aptitude) ?

Merci
JJL

--
http://kubuntu.free.fr/blog
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #9725211
--- JJL
Bonjour,

J'ai une passerelle avec une carte wifi ralink. J'installe le pilote
avec module-assistant, pour cela pas de problème.
A chaque maj noyau, il faut que je refasse la manip :
module-assistant --kvers-list 2.6.18-6-686 auto-install rt2500-source
avant de rebooter, sinon je me retrouve avec le nouveau noyau mais
pas
de réseau pour télécharger les headers du nouveau kernel.

Evidement, une fois sur deux j'oublie et il faut que je reboote deux
fois pour récupérer le réseau sur mon nouveau noyau.

Ma question est donc : ai-je un moyen d'executer automatiquement m-a
quand le noyau est mis-à-jour (j'utilise aptitude) ?




Ce sujet revient très souvent...
Je pense que la solution serait de créer un paquet virtuel
qui rendrait obligatoire certaine dépendances :
la mise à jour du noyau entrainerait
la mise à jour des fichiers que télécharge m-a lorsqu'il fait :
$ m-a a-i rt2500-source
(déjà, on pourrait compiler sans avoir à rebouter sous
le précédent noyau pour que le wifi marche et que m-a
puisse effectuer ses téléchargements).
Sinon à ma connaissance, aucune solution 'automatique'
n'a été évoquée sur cette liste.
Y'a aussi : à chaque fois qu'on fait une m-à-j :
vérifier si le noyau est mis à jour.
Si oui (faire) : m-a a-i -k le numéro du noyau cible qu'on aura
pas oublié de noter rt2500-source => avant de rebouter

FA

Merci
JJL

--
http://kubuntu.free.fr/blog







_____________________________________________________________________________
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail http://mail.yahoo.fr


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Hugues LARRIVE
Le #9724831
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig61A80C781FB46F537827629D
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

JJL a écrit :

En continuant à fouiller, j'ai peut-être une solution. Dans apt.con f,
il existe une option Post-Invoke qui permet d'executer des commandes
après chaque dpkg.
J'ai donc fait un petit script qui lance m-a dans le cas ou les
conditions sont réunies (voir fichier attaché)




C'est un peut lourd de lancer le script après l'installation de chaque
paquet...

Il y a un moyen plus simple que j'utilise pour le module nvidia :

- Créer le script /usr/local/sbin/update-module :
#!/bin/sh
m-a -tl $1 a-i nvidia
update-grub $1 $2

- Remplacer postinst_hook = update-grub par postinst_hook =
/usr/local/sbin/update-module dans /etc/kernel-img.conf

- Le meta-paquet linux-headers correspondant à votre noyau
(linux-headers-2.6.18-686 dans mon cas) doit être installé de sorte q ue
les headers du nouveau noyau soient déjà installés quand
module-assistant s'exécute car module-assistant est exécuté pendant une
mise à jour apt donc il ne peut pas utiliser apt-get pour installer
d'autres paquets.
J'ai fait un certain nombre de tests dans une machine virtuelle et
tout semble fonctionner correctement. Par contre comme cela touche à
un domaine dont je n'ai pas trop l'habitude, je serai heureux que la
liste y jette un oeil histoire de voir les points que j'ai pu oublier.




Ta solution a probablement le même problème que la mienne si
module-assistant tente d'installer un paquet manquant (headers, sources
du module, build-essential, linux-kbuild, etc.) mais le seule qui doit
être mis à jour en même temps que le noyau est le linux-headers
correspondant et il le sera à condition que le meta-paquet soit install é.

Une chance qu'apt faces les mise à jour par ordre alphabétique et que
header vienne avant image !

@+
Merci
JJL







--------------enig61A80C781FB46F537827629D
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHpwKANdTZuHWpgVIRApjrAJ9mJaY1jPnzURxyF+s4lRmgJr4OsQCeMKck
P9yXyjutsbm1ouJWwdYxYmY =Zk2f
-----END PGP SIGNATURE-----

--------------enig61A80C781FB46F537827629D--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
JJL
Le #9722531
Bonsoir,

Le 04/02/08, Hugues LARRIVE
C'est un peut lourd de lancer le script après l'installation de chaque
paquet...
Il y a un moyen plus simple que j'utilise pour le module nvidia :
- Créer le script /usr/local/sbin/update-module :
#!/bin/sh
m-a -tl $1 a-i nvidia
update-grub $1 $2
- Remplacer postinst_hook = update-grub par postinst_hook =
/usr/local/sbin/update-module dans /etc/kernel-img.conf


Effectivement, c'est plus malin de l'executer uniquement lors d'une
maj du noyau. Merci, je ne connaissais pas ce fichier de conf.

- Le meta-paquet linux-headers correspondant à votre noyau
(linux-headers-2.6.18-686 dans mon cas) doit être installé de sorte q ue
les headers du nouveau noyau soient déjà installés quand
module-assistant s'exécute car module-assistant est exécuté pendant une
mise à jour apt donc il ne peut pas utiliser apt-get pour installer
d'autres paquets.


Chez moi il n'était pas installé donc m-a doit effectivement
télécharger les headers avant de pouvoir compiler mon nouveau module.

Ta solution a probablement le même problème que la mienne si
module-assistant tente d'installer un paquet manquant (headers, sources
du module, build-essential, linux-kbuild, etc.) mais le seule qui doit
être mis à jour en même temps que le noyau est le linux-headers
correspondant et il le sera à condition que le meta-paquet soit install é.


En fait non. En utilisant DPkg::Post-Invoke, m-a est capable
d'installer d'autres paquets. Je suppose que la commande est appelée
après avoir relaché le lock.
Par contre en passant par kernel-img.conf, le lock est toujours
présent au moment de l'execution de m-a et il ne peut donc installer
d'autres paquets.

Bref les deux solutions ont leurs avantages et inconvéniants
- DPkg::Post-Invoke : permet de compiler le module même s'il manque
des paquets mais est executé à chaque appel à dpkg
- postinst_hook : nécessite que toutes les dépendances soient déjà
installées mais ne sert que quand c'est nécessaire.

Au final, je vais sans doute m'orienter vers la deuxième solution. Une
fois mise en place (càd avec m-a prepare et le meta paquet
linux-headers-2.6-686 déjà installés) elle me semble plus éprouvé e,
plus simple et plus légère.

Merci
JJL

--
http://kubuntu.free.fr/blog
Publicité
Poster une réponse
Anonyme