Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passer des options à des modules compilés en dur

3 réponses
Avatar
Jérémy JUST
Bonjour,

J'aurais besoin de passer une option à un module du noyau compilé en
dur, mais je ne sais pas trop comment faire.


* Problème:
------------
Depuis le noyau 2.6.18 (au moins dans la version Gentoo hardened), le
module ohci1394 a l'option phys_dma positionnée à 0 par défaut. Or,
pour que mon disque firewire (qui contient /usr, entre autre)
fonctionne, il me faudrait la positionner à 1, comme dans les versions
précédentes du noyau.
Jusque là, j'éditais à chaque fois les sources pour y modifier
directement la valeur avant la compilation, mais c'est un peu pénible.

Je voudrais configurer la valeur 1 au moment du boot. J'ai essayé de
passer cette option à yaboot:

image=/boot/vmlinux-2.6.20-hardened-r6
label=Hardened-2.6.20-r6
append="phys_dma=1" <---- ICI
root=/dev/hda5
read-only

Mais ça ne semble pas avoir d'effet (il n'y a rien qui concerne
ohci1394 dans le fichier modules.conf).



* Question:
------------
Est-il possible de configurer ce genre de choses au moment du boot?
Comment?

Si possible, je préfèrerais ne pas compiler ohci1394 sous forme de
module, puisqu'il doit systématiquement être chargé pour que la machine
fonctionne.


--
Jérémy JUST <jeremy_just@netcourrier.com>

3 réponses

Avatar
Jérémy JUST
Le Sun, 12 Aug 2007 17:10:28 +0200,

image=/boot/vmlinux-2.6.20-hardened-r6
label=Hardened-2.6.20-r6
append="phys_dma=1" <---- ICI
root=/dev/hda5
read-only

Mais ça ne semble pas avoir d'effet (il n'y a rien qui concerne
ohci1394 dans le fichier modules.conf).


La solution était documentée dans le fichier kernel-parameters.txt
des sources du noyau: il suffisait d'écrire

append="ohci1394.phys_dma=1"


J'aurais donc dû chercher directement dans la doc officielle, au lieu
de demande à Google.


Au passage, j'ai appris que toutes les options utilisables
apparaissent dans:
/sys/module/<MODULE>/parameters/


Merci à ceux qui auraient commencé à répondre entre temps!

--
Jérémy JUST

Avatar
Nicolas George
Jérémy JUST wrote in message
Au passage, j'ai appris que toutes les options utilisables
apparaissent dans:
/sys/module/<MODULE>/parameters/


Tu as la même information avec la commande modinfo, avec en plus une
description de l'option, et sans avoir besoin de charger le module :

filename: /lib/modules/2.6.20.7-she-seel/kernel/drivers/ieee1394/ohci1394.ko
author: Sebastien Rougeaux
description: Driver for PCI OHCI IEEE-1394 controllers
license: GPL
vermagic: 2.6.20.7-she-seel preempt mod_unload
depends: ieee1394
alias: pci:v*d*sv*sd*bc0Csc00i10*
parm: phys_dma:Enable physical dma (default = 1). (int)

Note que chez moi (2.6.20.7, donc), la valeur par défaut est bien 1.

Avatar
Jérémy JUST
Le 12 Aug 2007 16:01:15 GMT,

Tu as la même information avec la commande modinfo, avec en plus une
description de l'option, et sans avoir besoin de charger le module :


Merci bien pour ce complément.


Note que chez moi (2.6.20.7, donc), la valeur par défaut est bien 1.


Ça me confirme que c'est lié à la version « hardened » du noyau Gentoo:

<<<<<
--- linux-2.6.20-hardened-r6/drivers/ieee1394/ohci1394.c 2007-08-06 17:55:36.000000000 +0200
+++ linux-2.6.21-gentoo-r4/drivers/ieee1394/ohci1394.c 2007-08-12 17:41:47.000000000 +0200
@@ -161,9 +160,9 @@
printk(level "%s: fw-host%d: " fmt "n" , OHCI1394_DRIVER_NAME, ohci->host->id , ## args)

/* Module Parameters */
-static int phys_dma = 0;
+static int phys_dma = 1;
module_param(phys_dma, int, 0444);
-MODULE_PARM_DESC(phys_dma, "Enable physical dma (default = 0).");
+MODULE_PARM_DESC(phys_dma, "Enable physical dma (default = 1).");








Et ça me conforte dans l'idée que cette faille de sécurité n'est pas si
facilement exploitable que ça (puisqu'elle reste dans le noyau standard).

--
Jérémy JUST