diff --git a/.clangd b/.clangd new file mode 100644 index 0000000..92c0448 --- /dev/null +++ b/.clangd @@ -0,0 +1,12 @@ +CompileFlags: + Compiler: clang + Add: + - -Wall + - -I/usr/src/kernels/6.10.7-200.fc40.x86_64/include +InlayHints: + BlockEnd: false + Designators: true + Enabled: true + ParameterNames: true + DeducedTypes: true + TypeNameLimit: 24 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5a0b657 --- /dev/null +++ b/Makefile @@ -0,0 +1,10 @@ +obj-m += dvt-driver.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 + +sign: + /usr/src/kernels/$(shell uname -r)/scripts/sign-file sha256 kernel-sign/private_key.priv kernel-sign/public_key.der dvt-driver.ko diff --git a/dvt-driver.c b/dvt-driver.c new file mode 100644 index 0000000..cffed6e --- /dev/null +++ b/dvt-driver.c @@ -0,0 +1,21 @@ +#include +#include +#include +#include // Module metadata +#include + +MODULE_AUTHOR("Ruan de Bruyn"); +MODULE_DESCRIPTION("Hello world driver"); +MODULE_LICENSE("GPL"); // Custom init and exit methods + +static int __init custom_init(void) { + printk(KERN_INFO "Hello world driver loaded."); + return 0; +} + +static void __exit custom_exit(void) { + printk(KERN_INFO "Goodbye my friend, I shall miss you dearly..."); +} + +module_init(custom_init); +module_exit(custom_exit); diff --git a/kernel-sign b/kernel-sign new file mode 120000 index 0000000..f751b82 --- /dev/null +++ b/kernel-sign @@ -0,0 +1 @@ +../../Configurations/kernel-sign \ No newline at end of file