[lttng-dev] loading modules with modprobe

Kienan Stewart kstewart at efficios.com
Wed Jul 17 12:08:50 EDT 2024


Hi François,

On 7/17/24 11:47 AM, François Belias wrote:
> Hello, Kienan
> 
> 
> *Right. Which kernel are you actually running at this time? You can check
> using: `uname -a`*
> Linux philippe 6.5.0-41-generic #41~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC 
> Mon Jun  3 11:32:55 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
> 
> *Since you've got a few different images and headers installed, it is
> possible to check that same info the linux-source package: `dpkg -l |
> grep linux-source`.*
> ii  linux-source                                   5.15.0.116.116       
>                               all          Linux kernel source with 
> Ubuntu patches
> ii  linux-source-5.15.0                       5.15.0-116.126             
>                         all          Linux kernel source for version 
> 5.15.0 with Ubuntu patches
> ii  linux-source-6.5.0                      6.5.0-44.44~22.04.1         
>                        all          Linux kernel source for version 

Your currently running `6.5.0-41-generic #41~22.04.2-Ubuntu`

You have source installed for `6.5.0-44.44~22.04.1`. From your previous 
e-mail, there is also a linux image installed:

```
linux-image-6.5.0-44-generic 6.5.0-44.44~22.04.1
```

Assuming you are using grub, could you verify that one of the options 
for booting in `/boot/grub/grub.cfg` is linux 6.5.0-44.44. Look for the 
lines similar to the following inside a menu entry block:

(Note my example is 5.15.0-116, but you will be lookng for 6.5.0-44 or 
6.5.0-44.44)

```
linux   /boot/vmlinuz-5.15.0-116-generic root=....
initrd  /boot/initrd.img-5.15.0-116-generic
```

If you have a grub entry for linux 6.5.0-44.44, could you reboot to run 
on the linux 6.5.0-44.44.

After rebooting verify with `uname -a` that your kernel version is 
6.5.0-44.44.

Make sure you have unpacked the linux sources:

```
# Approximating the version numbers, since I don't have 6.5.0 installed
cd /usr/src/linux-source-6.5.0
bunzip2 linux-source-6.5.0.tar.bz2
tar -xf linux-source-6.5.0.tar
```

Then retry the build with 
`KERNELDIR=/usr/src/linux-source-6.5.0/linux-source-6.5.0/`

I haven't personally tried the full steps on an Ubuntu installation so 
you may still need to tweak a couple of things, but I think this should 
get you on the right path.

Really the important thing is to make sure that the kernel source code 
matches the kernel you are running.

> 6.5.0 with Ubuntu patches
> *Could you run either `apt-cache policy` or `apt policy` and `apt-mark
> showhold` in order to know which sources you have configured.*
> For this part, /*apt-mark showhold*/ gave me nothing I don't know what 
> is means.

`apt-mark showhold` will show any packages that are on hold - it is a 
way of marking packages that shouldn't be updated.

As you have the linux-source for 6.5.0-44.44~22.04.1, I don't think it 
will be necessary to have the output of `apt-cache policy`.

thanks,
kienan

> 
> I am looking at the links, but nothing seems to match my kernel version.
> 
> Thanks for your assistance.
> 
> Le mer. 17 juill. 2024, à 11 h 46, François Belias 
> <beliasossim at gmail.com <mailto:beliasossim at gmail.com>> a écrit :
> 
>     Hello, Kienan
> 
> 
>     *Right. Which kernel are you actually running at this time? You can
>     check
>     using: `uname -a`*
>     Linux philippe 6.5.0-41-generic #41~22.04.2-Ubuntu SMP
>     PREEMPT_DYNAMIC Mon Jun  3 11:32:55 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
> 
>     *Since you've got a few different images and headers installed, it is
>     possible to check that same info the linux-source package: `dpkg -l |
>     grep linux-source`.*
>     ii  linux-source                                   5.15.0.116.116  
>                                       all          Linux kernel source
>     with Ubuntu patches
>     ii  linux-source-5.15.0                       5.15.0-116.126        
>                                 all          Linux kernel source for
>     version 5.15.0 with Ubuntu patches
>     ii  linux-source-6.5.0                      6.5.0-44.44~22.04.1    
>                                all          Linux kernel source for
>     version 6.5.0 with Ubuntu patches
>     *Could you run either `apt-cache policy` or `apt policy` and `apt-mark
>     showhold` in order to know which sources you have configured.*
>     For this part, /*apt-mark showhold*/ gave me nothing I don't know
>     what is means.
> 
>     I am looking at the links, but nothing seems to match my kernel
>     version.
> 
>     Thanks for your assistance.
> 
>     Le mer. 17 juill. 2024, à 10 h 55, Kienan Stewart
>     <kstewart at efficios.com <mailto:kstewart at efficios.com>> a écrit :
> 
>         Hi François,
> 
>         On 7/16/24 4:34 PM, François Belias wrote:
>          > Hello Kienan,
>          >
>          > When I proceed with the following steps:
>          >
>          > ```
>          > # Warning: this removes all untracked content from the
>         lttng-modules
>          > directory
>          > cd /path/to/lttng-modules-source
>          > git clean -dxf
>          >
>          > make
>          > sudo make modules_install
>          > sudo depmod -a
>          > ```
>          >
>          > I encounter a warning in
>          > `/home/philippe/lttng-modules/src/probes/Kbuild:79` stating
>         "File
>          > ./arch/x86/kvm/lapic.h not found. Probe 'kvm' x86-specific is
>         disabled.
>          > Use full kernel source tree to enable it." Although
>         everything compiles
>          > fine and I'm able to load modules, when I execute `sudo lttng
>         list -k`,
>          > I don't see the tracepoints `kvm_entry` and `kvm_exit`, which
>         I believe
>          > should be available. Could this be due to not using my full
>         kernel tree
>          > during compilation?
> 
> 
>         Exactly. Those probes depend on having the full kernel source as
>         they
>         require private headers which aren't shipped as part of the
>         `linux-headers` package.
> 
>          >
>          > Here are the answers to your questions:
>          >
>          > - *Where did `/usr/src/linux-source-6.5.0` come from?*
>          >    I initially attempted `sudo apt-get update && sudo apt-get
>         install
>          > linux-source`, but it gave me this answer */linux-source is
>         already the
>          > newest version (5.15.0.116.116)/*`, which doesn't match my
>         current
>          > kernel version. So, I downloaded it directly from kernel.org
>         <http://kernel.org>
>          > <http://kernel.org <http://kernel.org>> using this command:
>         `wget
>          >
>         https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.tar.xz`
>         <https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.tar.xz>
>          >
>         <https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.tar.xz`
>         <https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.tar.xz>>.
>          >
> 
>         Right. Which kernel are you actually running at this time? You
>         can check
>         using: `uname -a`
> 
>         In any case, Linux upstream 6.5 is not the same as Ubuntus's 6.5.
> 
>          > - *Which Linux distribution and version are you using?*
>          >    Running `lsb_release -a` gives me:
>          >    ```
>          >    No LSB modules are available.
>          >    Distributor ID: Ubuntu
>          >    Description:    Ubuntu 22.04.4 LTS
>          >    Release:        22.04
>          >    Codename:       jammy
>          >    ```
>          >
>          > - *Assuming your distribution has kernel packages, which do
>         you have
>          > installed, and do you have the corresponding kernel headers
>         package
>          > installed?*
>          >
>          >    Running `dpkg -l | grep linux-image` shows these installed
>         packages:
>          >    ```
>          >    ii  linux-image-5.15.0-116-generic           5.15.0-116.126
>          >   amd64   Signed kernel image generic
>          >    ii  linux-image-6.5.0-28-generic            
>         6.5.0-28.29~22.04.1
>          >   amd64   Signed kernel image generic
>          >    ii  linux-image-6.5.0-41-generic            
>         6.5.0-41.41~22.04.2
>          >   amd64   Signed kernel image generic
>          >    ii  linux-image-6.5.0-44-generic            
>         6.5.0-44.44~22.04.1
>          >   amd64   Signed kernel image generic
>          >    ii  linux-image-generic                      5.15.0.116.116
>          >   amd64   Generic Linux kernel image
>          >    ii  linux-image-generic-hwe-22.04          
>           6.5.0.44.44~22.04.1
>          >   amd64   Generic Linux kernel image
>          >    ```
>          >
>          >    And `dpkg -l | grep linux-headers` shows these installed
>         header packages:
>          >    ```
>          >    ii  linux-headers-5.15.0-116                
>         5.15.0-116.126      all
>          >      Header files related to Linux kernel version 5.15.0
>          >    ii  linux-headers-5.15.0-116-generic         5.15.0-116.126
>          >   amd64   Linux kernel headers for version 5.15.0 on 64 bit
>         x86 SMP
>          >    ii  linux-headers-6.5.0-28-generic          
>         6.5.0-28.29~22.04.1
>          >   amd64   Linux kernel headers for version 6.5.0 on 64 bit
>         x86 SMP
>          >    ii  linux-headers-6.5.0-41-generic          
>         6.5.0-41.41~22.04.2
>          >   amd64   Linux kernel headers for version 6.5.0 on 64 bit
>         x86 SMP
>          >    ii  linux-headers-6.5.0-44-generic          
>         6.5.0-44.44~22.04.1
>          >   amd64   Linux kernel headers for version 6.5.0 on 64 bit
>         x86 SMP
>          >    ii  linux-headers-generic                    5.15.0.116.116
>          >   amd64   Generic Linux kernel headers
>          >    ii  linux-headers-generic-hwe-22.04        
>           6.5.0.44.44~22.04.1
>          >   amd64   Generic Linux kernel headers
>          >    ```
>          >
> 
>         Since you've got a few different images and headers installed,
>         it is
>         possible to check that same info the linux-source package: `dpkg
>         -l |
>         grep linux-source`.
> 
>         Maybe one thing tripping this process up is that you don't have
>         an apt
>         source that provides linux-source that matches the kernel you
>         are using.
>         Could you run either `apt-cache policy` or `apt policy` and
>         `apt-mark
>         showhold` in order to know which sources you have configured.
> 
>         There are also alternative sources for the full source tree:
> 
>         - You could download the specific package from
>         packages.ubuntu.com <http://packages.ubuntu.com>. See
>         https://packages.ubuntu.com <https://packages.ubuntu.com> and
>         use `apt install ./downloaded_package.deb`
> 
>         - You could clone the kernel source for Ubuntu and checkout the
>         appropriate tag. See
>         https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/refs/tags <https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/refs/tags>
> 
>         thanks,
>         kienan
> 


More information about the lttng-dev mailing list