On giovedì 16 marzo 2023 19:35:09 CET Khadija Kamran wrote: > On Thu, Mar 16, 2023 at 05:17:47PM +0100, Fabio M. De Francesco wrote: > > On giovedì 16 marzo 2023 16:09:08 CET Khadija Kamran wrote: [snip] > Hey Fabio! > > Hope you are doing well. After spending a lot of time on this I am > stuck now. Kindly help me resolve this issue or understand it better. > > Following your instructions I deleted my config file and copied one from > the /boot/ directory. After that I enabled the dependencies(CONFIG_OF=y > and CONFIG_HAS_IOMEM=y). I was successfully able to enable axis-fifo as > a module. > > I then ran the following commands: > - make drivers/staging/axis-fifo/ No, this is not the right command... you are not invoking the linker to make the .ko object. Use "make M=drivers/staging/axis-fifo/" or "make M=drivers/staging/axis-fifo/ W=1 -j8" (the latter to enable level '1' warning and run on your 2 * 4 logical cores). > - sudo make modules_install install(this command took hours) :'( This is odd, it shouldn't :-/ As I said in another message, I'll set aside some time to help you check if you need to fine tune your VM and Hypervisor configuration. I'm returning on the same subject we have been talked about because you said at least twice that your builds and install are too slow. We'll try to diagnose it in an IRC session on #kernel-outreachy (I'm pretty sure for the first days of next week - I'll send an invite). > > When you are done with build, install, and final reboot to test if your > > module can "modprobe" or "insmod" (i.e. link with the running custom kernel > > you built, installed and boot), try to compare the output of the following > > commands: > > > > # uname -a > > Linux suse 6.2.2-1-default #1 SMP PREEMPT_DYNAMIC Thu Mar 9 06:06:13 UTC > > 2023 (44ca817) x86_64 x86_64 x86_64 GNU/Linux > > The above command works > > > AND > > > > # modinfo <name of the module you are testing here> > > On running 'modinfo axis-fifo' I get error saying module axis-fifo not > found. Try again after building with "M=drivers/staging" (as said above). Don't forget to run "make modules_install install" and then reboot into your custom built Kernel, not the distribution's kernel. While you are there, run "lsmod" to see all loaded modules. Pick one randomly from the output list and run "modinfo name_of_the_module_you_want_info_about". > > I'm running "modinfo kvm" (but showing only two of many lines): > > > > # modinfo kvm > > filename: /lib/modules/6.2.2-1-default/kernel/arch/x86/kvm/ kvm.ko.zst > > vermagic: 6.2.2-1-default SMP preempt mod_unload modversions > > > > Can you see that the kernel in "uname -a" and the filename and vermagic have > > the same "6.2.2-1-default"? Well, so I'm sure I'm running the right Kernel > > and inserted the appropriate "kvm" module. > > > > Furthermore, before rebooting your custom kernel, you may also look at the > > directory in the Kernel where you compiled your module and search for "*.o" > > "*mod*" and "*.ko" files. If you have them, you built your module properly. > > There is a "*.o" file and "*.mod" file but there is no "*.ko" file in > the axis-fifo directory. > > Kindly help me with this. > > Regards, > Khadija > > > Thanks, > > > > Fabio Let me know if this time it works. Fabio P.S.: Have you had time to read that "Linux Kernel Module Programming" guide I sent you the link of? You can find a lot of information about modules there. I'd strongly recommend you to read it.