|
|
|
|
||||||
| fr.comp.os.bsd Systèmes BSD et dérivés (NetBSD, FreeBSD, ...). |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour, Présentation du décor : Supposons que j'ai deux noyaux, dans /boot/foo et /boot/bar. Ces deux noyaux n'ont pas les mêmes modules compilés. Mettre kernel=foo dans /boot/loader.conf me permet de booter sur ce noyau par défaut. Ok. Développement : Supposons maintenant que je veuille booter sur le noyau bar. Au prompt du boot, je fais un unload + boot /boot/bar/kernel classique. Ok. Le problème est pour charger en mémoire les modules de ce noyau. En effet, si je fais kldload monmodule, il ne va pas le chercher dans /boot/bar, mais dans /boot/foo (à cause de mon kernel=foo dans loader.conf, j'imagine). Or ce module n'existe pas forcément dans /boot/foo. Une solution consiste donc, plutôt que de faire un kldload monmodule, à préciser le chemin complet du module, soit kldload /boot/bar/monmodule.ko. Ce qui marche relativement bien. Sauf que dans ce cas, les dépendances des modules ne sont plus gérées. Et concrètement, pour charger snd_driver, ça devient vite... pénible, puisque celui-ci a beaucoup de dépendances. Qu'est-ce que je fais mal ? Merci. -- Fred. |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
On Mon, 18 Dec 2006 12:51:18 +0100, fred <fredantispam@free.fr> wrote:
> > Bonjour, > > Présentation du décor : > > Supposons que j'ai deux noyaux, dans /boot/foo et /boot/bar. > Ces deux noyaux n'ont pas les mêmes modules compilés. > > Mettre kernel=foo dans /boot/loader.conf me permet de booter sur ce noyau > par défaut. Ok. > > Développement : > > Supposons maintenant que je veuille booter sur le noyau bar. > Au prompt du boot, je fais un unload + boot /boot/bar/kernel classique. > Ok. > > Le problème est pour charger en mémoire les modules de ce noyau. > > En effet, si je fais kldload monmodule, il ne va pas le chercher dans > /boot/bar, mais dans /boot/foo (à cause de mon kernel=foo dans > loader.conf, j'imagine). Or ce module n'existe pas forcément dans > /boot/foo. > > Une solution consiste donc, plutôt que de faire un kldload monmodule, > à préciser le chemin complet du module, soit kldload /boot/bar/monmodule.ko. > Ce qui marche relativement bien. Au boot: unload set module_path=/boot/bar boot /boot/bar/kernel -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Ducrot Bruno <ducrot@echo.fr> a écrit :
> unload > set module_path=/boot/bar > boot /boot/bar/kernel Ok ! C'est indiqué où, ça ? Parce que la manpage de boot ne le mentionne pas. Merci ! (une fois de plus). -- Fred. |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
On Mon, 18 Dec 2006 15:51:54 +0100, fred <fredantispam@free.fr> wrote:
> Ducrot Bruno <ducrot@echo.fr> a écrit : > >> unload >> set module_path=/boot/bar >> boot /boot/bar/kernel > > Ok ! > > C'est indiqué où, ça ? > Parce que la manpage de boot ne le mentionne pas. C'est dans celle de loader(8) : module_path Sets the list of directories which will be searched for modules named in a load command or implicitly required by a dependency. The default value for this variable is ``/boot/kernel;/boot/modules''. -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
Ducrot Bruno <ducrot@echo.fr> a écrit :
> C'est dans celle de loader(8) : > > module_path > Sets the list of directories which will be searched for modules > named in a load command or implicitly required by a dependency. > The default value for this variable is > ``/boot/kernel;/boot/modules''. oups ! Ça répond du coup à ma seconde question qui n'a plus lieu d'être. Merci. -- Fred. |
|
![]() |
| Outils de la discussion | |
|
|