Mova seu arquivo hello_pass_arg.c
para um local diferente do código-fonte do seu kernel linux e ele deve funcionar.
Este é o arquivo de criação:
obj-m += hello_pass_arg.o
KDIR = /lib/modules/$(shell uname -r)/build
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.* *.symvers *.order
Quando eu executo o comando "make" eu mostro o seguinte erro:
make -C /lib/modules/3.8.13.14-qd/build SUBDIRS=/usr/src/linux-headers-3.8.13.14-qd/drivers/hello modules
make[1]: Entering directory '/root/source/linux-lts-raring-3.8.0'
make[2]: *** No rule to make target '/usr/src/linux-headers-3.8.13.14-qd/drivers/hello/hello_pass_arg.c', needed by '/usr/src/linux-headers-3.8.13.14-qd/drivers/hello/hello_pass_arg.o'. Stop.
make[1]: *** [_module_/usr/src/linux-headers-3.8.13.14-qd/drivers/hello] Error 2
make[1]: Leaving directory '/root/source/linux-lts-raring-3.8.0'
make: *** [all] Error 2
Eu não entendo por que ele entra no linux-lts-raring-3.8.0!
Mova seu arquivo hello_pass_arg.c
para um local diferente do código-fonte do seu kernel linux e ele deve funcionar.