Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support to test update library with local kernel #1306

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

olsajiri
Copy link
Contributor

@olsajiri olsajiri commented Jan 13, 2024

Adding support to update update library with local kernel by passing local directory through KERNEL_VERSION, like:

  $ ls ../data/
  bpf_testmod.ko  libbpf.c  vmlinux

  $ make update-kernel-deps KERNEL_VERSION=../data

This allows to test latest kernel uapi changes with ebpf/cilium library and tetragon.

Copy link
Collaborator

@lmb lmb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

curl -fL "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/plain/tools/lib/bpf/libbpf.c?h=v$KERNEL_VERSION" -o "$tmp/libbpf.c"
if [ -d $KERNEL_VERSION ]; then
# Copy libbpf/vmlinux/bpf_testmod from local directory
cp $KERNEL_VERSION/libbpf.c $tmp
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to assume that KERNEL_VERSION is a checkout of the linux source? Then you can just run make KERNEL_VERSION=/path/to/linux. Right now you need to copy things around.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it's possible, but at the moment I have the kernel build on another server, so current change fits me better.. maybe we could introduce more variables to allow that? I felt like the current change is abusing bit the KERNEL_VERSION variable, but it's simple ;-)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, maybe you can abuse rsync to get transparent copy from your build server? Basically, the usual thing would be to rsync from a local directory, but if you set your variable to user@host:/path/to/linux it'd slurp that over.

I don't much see the point of adding the option in a way that means extra work for the common case to be honest.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hum, not sure I see enough benefit in doing the rsync.. I don't think the local kernel update will happen that often.. but I'm ok to keep that change around just for my purposes, there's no need for that to be merged if it's a problem

Adding support to update update library with local kernel by passing
local directory through KERNEL_VERSION, like:

  $ ls ../data/
  bpf_testmod.ko  libbpf.c  vmlinux

  $ make update-kernel-deps KERNEL_VERSION=../data

This allows to test latest kernel uapi changes with ebpf/cilium library
and tetragon.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
@olsajiri olsajiri marked this pull request as ready for review January 22, 2024 13:57
@olsajiri olsajiri requested a review from a team as a code owner January 22, 2024 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants