elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  drivers linux y c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: drivers linux y c  (Leído 2,428 veces)
Maik33

Desconectado Desconectado

Mensajes: 128


Ver Perfil
drivers linux y c
« en: 14 Noviembre 2012, 11:51 am »

Hola,
estaba mirando un tutorial de como escribir drivers en linux, y al compilar los ejemplos del tutorial me aparecen errores.

El tutorial en pdf es el siguiente enlace: http://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCEQFjAA&url=http%3A%2F%2Fwww.exa.unicen.edu.ar%2Fcatedras%2Frtlinux%2Fmaterial%2Fapuntes%2Fdriv_tut_last.pdf&ei=b3ajUI25MaWm0QXHh4HgAg&usg=AFQjCNEBEb5JwsWr9Emje2Plig1HMheE_Q&cad=rja

El primer ejemplo es simple para ver como funciona. El codigo es el siguiente:

Código
  1. #define MODULE
  2. #include <linux/module.h>
  3.  

Y para compilar aparencen 2 formas:

$ gcc -c nada.c
la primera me salta este error:
Código:
nada.c:1:24: error fatal: linux/init.h: No existe el archivo o el directorio
compilación terminada.

$ gcc -I/usr/src/linux/include -O -Wall -c nada.c
y este lo mismo.

Alguien sabe porque no compila?


En línea

aicrag

Desconectado Desconectado

Mensajes: 5


Siempre fue algo personal.


Ver Perfil
Re: drivers linux y c
« Respuesta #1 en: 15 Noviembre 2012, 13:21 pm »

Es bastante probable que te falte las linux-headers


En línea

Maik33

Desconectado Desconectado

Mensajes: 128


Ver Perfil
Re: drivers linux y c
« Respuesta #2 en: 16 Noviembre 2012, 09:08 am »

ya esta solucionado, encontre el makefile.

Código:
ifeq ($(KERNELRELEASE),) 
 
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
 
.PHONY: build clean
 
build:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
 
clean:
    rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c
else
 
$(info Building with KERNELRELEASE = ${KERNELRELEASE})
obj-m :=    hola.o
 
endif
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines