Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 4 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Mar 09, 2011 3:41 am
Mensajes: 2

Nota Publicado: Mié Mar 09, 2011 3:54 am 
Arriba  
Hola que tal,...

Como dice el titulo estoy tratando de compilar un ejemplo de un modulo y me genera el siguiente error...
Imagen

Anexo Código de hello-1.c

Código:
/* 
*  hello-1.c - The simplest kernel module.
*/
#include <linux/module.h>   /* Needed by all modules */
#include <linux/kernel.h>   /* Needed for KERN_INFO */

int init_module(void)
{
   printk(KERN_INFO "Hello world 1.\n");

   /*
    * A non 0 return means init_module failed; module can't be loaded.
    */
   return 0;
}

void cleanup_module(void)
{
   printk(KERN_INFO "Goodbye world 1.\n");
}


Datos:
SO-Xubuntu 10.1 desinstale y reinstale headers, kbuild, build-essential actualice apt-file y aun me genera errores :?

Alguien me puede sugerir alguna solución?

Y despues de explicar mi problema, agradezco de toda fe, el tiempo que se tomaran para leer este post =D>

 Perfil Email  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Feb 13, 2011 1:51 pm
Mensajes: 33

Nota Publicado: Mié Mar 09, 2011 5:46 am 
Arriba  
Crea un Makefile. Compilar módulos con GCC a pelo es complicadillo.

El Makefile es sencillo:
$ nano Makefile (o el editor que más cómodo te resulte):
Código:
obj-m += hello-1.o

all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean


Una cosa debajo de all: y clean: y antes de make, usa tabuladores, ya que si usas espacios no va a funcionar.

Luego para compilar haces:

$ make

Y ya para insertar el módulo

$ sudo insmod hello-1.ko
Sólo el último paso debes hacerlo como root.

De todas formas, los módulos antes de nada tienen que incluir la licencia, tienes que escribir:
Código:
MODULE_LICENSE("GPL");

justo debajo de los #includes. Si no, cada vez que cargues tu módulo, el kernel se quejará diciendo que lo estás deshonrando.

Vía dmesg podrás ver los resultados de este hello-1.ko

_________________
Saludos
Gaspar Fernández
http://totaki.com/poesiabinaria

 Perfil Email  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Jue Abr 26, 2007 11:00 pm
Mensajes: 1426

Nota Publicado: Mié Mar 09, 2011 8:12 am 
Arriba  
1°) gcc, NUNCA JAMAS se lanza con sudo.
2°) Para localizar las cabeceras del kernel se hace así:

Código:
echo $(find /usr/src -iname kernel.h -print0|grep -FzZ include/linux/kernel.h)

3°) Leéte esta guía

_________________
"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit."

"Finibus Bonorum Et Malorum", Cicerón

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Mar 09, 2011 3:41 am
Mensajes: 2

Nota Publicado: Mié Mar 09, 2011 11:50 am 
Arriba  
hipersayan_x escribió:
1°) gcc, NUNCA JAMAS se lanza con sudo.
2°) Para localizar las cabeceras del kernel se hace así:

Código:
echo $(find /usr/src -iname kernel.h -print0|grep -FzZ include/linux/kernel.h)

3°) Leéte esta guía


Woooow estoy checando el link, es lo malo de ser muy nuevo en esto, no se sabe bien donde buscar....

Utilizaba sudo con gcc porque no me hacia nada y se debía a que no sabia como hacerlo =/

terminare de leer la guía y aplicare lo leído, un saludo hipersayan, blackeyed... Se los agradezco... :D

 Perfil Email  
Mostrar mensajes previos:  Ordenar por  
 [ 4 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO