Problem building an out of tree modules for kernel version 5.8.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to build out of tree modules for kernel version 5.8.0 for a X86 host. Below are the results when I attempt to compile the modules.  

test@test-GA-78LMT-USB3-6-0:~/X86module$ ./BuildDriver
make: Entering directory '/home/test/LinuxKernel/linux-git'
  CC [M]  /home/test/X86module/thread.o
In file included from ./include/linux/types.h:6,
                 from ./include/linux/limits.h:6,
                 from ./include/linux/kernel.h:7,
                 from /home/test/X86module/thread.c:3:
./include/uapi/linux/types.h:5:10: fatal error: asm/types.h: No such file or directory
    5 | #include <asm/types.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make[1]: *** [scripts/Makefile.build:281: /home/test/X86module/thread.o] Error 1
make: *** [Makefile:1756: /home/test/X86module] Error 2
make: Leaving directory '/home/test/LinuxKernel/linux-git'

This is the source code for the module being compiled:

/* out-of-tree kthreads module */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/kthread.h>
#include <linux/delay.h>

#define LOGLEVEL KERN_INFO

static struct task_struct *mythread;

static int work(void *dummy);

static int __init kthread_init(void) {
int r;
printk(LOGLEVEL "kthread module start\n");
mythread = kthread_create(work, NULL, "mykthread");
if (mythread > 0) { printk(LOGLEVEL "kthread created\n");
                   r = wake_up_process(mythread);
                     if (r) { printk(LOGLEVEL "kthread started\n");
                              printk(LOGLEVEL "kthread pid = %0#10x  %d\n", mythread->pid, mythread->pid);
            }
                   else printk(LOGLEVEL "kthread already running??\n");
                 }

else printk(LOGLEVEL "kthread_create failed\n");
return(0);
}

static int work(void *dummy) {
int i = 1;
while (1) {
ssleep(1);
printk(LOGLEVEL "mykthread i = %d\n",i);
i++;
if (kthread_should_stop()) {
printk(LOGLEVEL "my kthread is stopping...\n");
do_exit(0);
}
}
}

static void __exit kthread_exit(void) {
int r;
r = kthread_stop(mythread);
printk(KERN_INFO "kthread module exit\n");
}

module_init(kthread_init);
module_exit(kthread_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Michael McCann");
MODULE_DESCRIPTION("kernal threads experiment");

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux