Hola a todos. Estoy liado con módulos del kernel para una práctica y tengo un problemilla. Me gustaría poder llamar a una llamada al sistema desde un módulo. Muchas veces es útil, ya que la llamada te hace el trabajo que deseas realizar. Por ejemplo llamar a sys_mknod. En varios sitios lo he visto y he hecho lo que comentaban y no me funciona. Al compilar el módulo me dice símbolo no definido (refiriéndose a la llamada al sistema). Alguien sabe como podría hacerlo? LA verdad es que estoy bastante intrigado. Compilé un kernel 2.6.11 por si acaso suse retocaba algo del kernel que no me permitiera hacer lo que quiero pero sigue saliendo lo mismo. Es raro porque hago lo mismo que pone en los ejemplos para 2.6 que he visto y nada de nada. Si alguien sabe algo me sería de gran ayuda. Un saludo. -- http://is1.cyberfenix.net/zapas
Mandame mas datos, yo he hecho algun modulo para el 2.6, quizas pueda ayudarte, no te lo aseguro. Un saludo Lluis El mar, 26-04-2005 a las 02:05 +0200, Cesar Dominguez Ortega escribió:
Hola a todos.
Estoy liado con módulos del kernel para una práctica y tengo un problemilla. Me gustaría poder llamar a una llamada al sistema desde un módulo. Muchas veces es útil, ya que la llamada te hace el trabajo que deseas realizar. Por ejemplo llamar a sys_mknod. En varios sitios lo he visto y he hecho lo que comentaban y no me funciona. Al compilar el módulo me dice símbolo no definido (refiriéndose a la llamada al sistema).
Alguien sabe como podría hacerlo? LA verdad es que estoy bastante intrigado. Compilé un kernel 2.6.11 por si acaso suse retocaba algo del kernel que no me permitiera hacer lo que quiero pero sigue saliendo lo mismo. Es raro porque hago lo mismo que pone en los ejemplos para 2.6 que he visto y nada de nada.
Si alguien sabe algo me sería de gran ayuda. Un saludo.
El Martes, 26 de Abril de 2005 22:59, lmartinez escribió:
Mandame mas datos, yo he hecho algun modulo para el 2.6, quizas pueda ayudarte, no te lo aseguro.
Un saludo
Lluis
Antes de nada muchas gracias por intentar echarme una mano. Te cuento. El caso es que me gustaría saber como desde un módulo puedo llamar a una llamada al sistema. De momento solo lo quiero usar para un ejemplo chorra, pero es algo que se que se puede hacer (de hecho lo comenté con mi profesor y me dijo que ha visto muchos módulos que llaman a llamadas al sistema, sobre todo las relacionadas con sockets....) y que puede ser muy util en muchas ocasiones. El ejemplo chorra que estaba haciendo era crear un mini driver de dispositvo de caracteres. Quería que mi módulo cuando se cargue, registre el dispositivo en el sistema y cree el fichero de dispositivo correspondiente. Para ello empleaba la llamada al sistema sys_mknod. En algún ejemplo la he visto usar. Pero cuando compilo el ejemplo me sale lo siguiente (te pongo las lineas relevantes): Building modules, stage 2. MODPOST *** Warning: "sys_chmod" [/home/cesar/Facultad/SistemasInformaticos/Ejemplos/devs/chardev.ko] undefined! *** Warning: "sys_mknod" [/home/cesar/Facultad/SistemasInformaticos/Ejemplos/devs/chardev.ko] undefined! *** Warning: "sys_unlink" [/home/cesar/Facultad/SistemasInformaticos/Ejemplos/devs/chardev.ko] undefined! CC /home/cesar/Facultad/SistemasInformaticos/Ejemplos/devs/chardev.mod.o LD [M] /home/cesar/Facultad/SistemasInformaticos/Ejemplos/devs/chardev.ko Como ves son warnings, pero al cargar el módulo: insmod: error inserting './chardev.ko': -1 Unknown symbol in module y en en log: Apr 27 20:56:58 linux kernel: chardev: Unknown symbol sys_chmod Apr 27 20:56:58 linux kernel: chardev: Unknown symbol sys_unlink Apr 27 20:56:58 linux kernel: chardev: Unknown symbol sys_mknod Vamos que no pilla las llamadas al sistema. Si quieres te mando el código del modulo chorra que he hecho por si así lo ves mejor. Muchas gracias por el interes. Un saludo -- http://is1.cyberfenix.net/zapas
participants (2)
-
Cesar Dominguez Ortega
-
lmartinez