[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