Code Monkey home page Code Monkey logo

Comments (7)

dgageot avatar dgageot commented on September 2, 2024

@farhadh the information about the kernel and the patches applied to it are all in the VM. You can try docker run --privileged --pid=host --rm -it justincormack/nsenter1 /usr/bin/tree /src
Is that enough for your use case? Can you give us more details about what you're trying to achieve? Maybe we can make things better

from for-mac.

farhadh avatar farhadh commented on September 2, 2024

@dgageot Thanks for your attention. I need the Linux kernel GTP tunneling module in my LinuxVM kernel for which I need the headers to compile its C code.

from for-mac.

n-bes avatar n-bes commented on September 2, 2024

Hi, i want to run eBPF & perf tools, they also require headers

docker run --privileged --pid=host --rm -it justincormack/nsenter1 /usr/bin/tree /src
setns:mnt: Invalid argument

Failed

from for-mac.

dgageot avatar dgageot commented on September 2, 2024

@n-bes which version of Docker Desktop are you testing it with? It was added only recently.

from for-mac.

n-bes avatar n-bes commented on September 2, 2024

Root of the problem is platform type (arm or x64).

➜  ~ docker run --privileged --pid=host --rm -it --platform=linux/amd64 justincormack/nsenter1 /usr/bin/tree /src
setns:mnt: Invalid argument
➜  ~ docker run --privileged --pid=host --rm -it --platform=linux/arm64 justincormack/nsenter1 /usr/bin/tree /src

Unable to find image 'justincormack/nsenter1:latest' locally
latest: Pulling from justincormack/nsenter1
Digest: sha256:e876f694a4cb6ff9e6861197ea3680fe2e3c5ab773a1e37ca1f13171f7f5798e
Status: Downloaded newer image for justincormack/nsenter1:latest
/src
├── kernel-url
├── kernel-version
├── modules
│   ├── LICENSE
│   ├── Makefile
│   ├── fakeowner.c
│   ├── grpcfuse.c
│   ├── rosetta.c
│   ├── selfowner.c
│   ├── shiftfs.c
│   └── trace_fakeowner.h
└── patches
    ├── 0001-Disable-default_permission-in-virtio_fs.c.patch
    ├── 0002-Revert-Merge-branch-for-next-feat_s1pie-into-for-nex.patch
    ├── 0003-Support-multiple-interpreters.patch
    ├── 0004-Support-openat-with-more-000-on-virtiofs.patch
    ├── 0005-prevent-crash-on-macos12-arm64.patch
    ├── 0006-DOCKER-SAUCE-Define-SHIFTFS_MAGIC.patch
    ├── 0007-virtio-net-add-disable_csum-module-param-to-disable-.patch
    ├── 0008-Fix-unhandled-auxillary-vector-type-28-issue-with-ro.patch
    ├── 0009-hardlinks-drop-the-cache-of-the-existing-entry.patch
    ├── 0010-virtiofs-expose-sys-fs-fuse-and-a-subtype-field.patch
    ├── 0011-virtiofs-expose-an-invalidate-entry-field.patch
    ├── 0012-fuse-Add-negative_dentry_timeout-option.patch
    ├── 0013-virtiofs-allow-server-entry_timeout-to-be-overriden-.patch
    ├── 0014-virtiofs-allow-the-attr_timeout-to-be-set-globally.patch
    ├── 0015-virtiofs-never-query-for-STATX_ATIME.patch
    ├── 0016-virtiofs-add-a-no_flush-arg-which-disables-FUSE_FLUS.patch
    ├── 0017-virtiofs-add-ignore_atime.patch
    ├── 0018-virtiofs-add-trace_rpc-argument.patch
    └── 0019-virtiofs-add-keep_cache-mount-option.patch

2 directories, 29 files
➜  ~ docker version
Client:
 Cloud integration: v1.0.35+desktop.13
 Version:           26.1.1
 API version:       1.45
 Go version:        go1.21.9
 Git commit:        4cf5afa
 Built:             Tue Apr 30 11:44:56 2024
 OS/Arch:           darwin/arm64
 Context:           default

Server: Docker Desktop 4.30.0 (149282)
 Engine:
  Version:          26.1.1
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.9
  Git commit:       ac2de55
  Built:            Tue Apr 30 11:48:04 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.31
  GitCommit:        e377cd56a71523140ca6ae87e30244719194a521
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

from for-mac.

agilebean avatar agilebean commented on September 2, 2024

it would be great to get the linux headers published soon.
meanwhile, the version is 6.6.31, as in:

Unable to locate package linux-headers-6.6.31-linuxkit

but the version installed by apt-get install linux-headers-generic is

/lib/modules/5.4.0-187-generic

from for-mac.

beaugunderson avatar beaugunderson commented on September 2, 2024

Would love an update here; I also need the 6.6.31 headers for eBPF.

Edit: Well, 6.6.32 after today's update.

I did figure out you can yoink these right out of the host container:

docker run \
  -v "$(pwd):/app" \
  --privileged \
  --pid=host \
  --rm \
  -it \
  --platform=linux/arm64 \
  justincormack/nsenter1

Then:

$ cd /src
$ cp kheaders.tar.xz /mnt_host/Users/<your username>/wherever

from for-mac.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.