Closed danielc103 closed 1 year ago
+1 I'm experiencing a similar issue, falco_amazonlinux2_5.4.219-126.411.amzn2.x86_64_1.o driver is missing on aws eks.
│ * Setting up /usr/src links from host │
│ * Running falco-driver-loader for: falco version=0.31.1, driver version=b7eb0dd65226a8dc254d228c8d950d07bf3521d2 │
│ * Running falco-driver-loader with: driver=bpf, compile=yes, download=yes │
│ * Mounting debugfs │
│ * Trying to download a prebuilt eBPF probe from https://download.falco.org/driver/b7eb0dd65226a8dc254d228c8d950d07bf3521d2/falco_amazonlinux2_5.4.219-126.411.amzn2.x86_64_1.o │
│ curl: (22) The requested URL returned error: 404 │
│ Unable to find a prebuilt falco eBPF probe │
│ * Trying to compile the eBPF probe (falco_amazonlinux2_5.4.219-126.411.amzn2.x86_64_1.o) │
│ make[1]: *** /lib/modules/5.4.219-126.411.amzn2.x86_64/build: No such file or directory. Stop. │
│ make: *** [Makefile:20: all] Error 2 │
│ mv: cannot stat '/usr/src/falco-b7eb0dd65226a8dc254d228c8d950d07bf3521d2/bpf/probe.o': No such file or directory │
│ Unable to load the falco eBPF probe │
│ 2022-11-20T12:27:25+0000: Falco version 0.31.1 (driver version b7eb0dd65226a8dc254d228c8d950d07bf3521d2) │
│ 2022-11-20T12:27:25+0000: Falco initialized with configuration file /etc/falco/falco.yaml │
│ 2022-11-20T12:27:25+0000: Loading rules from file /etc/falco/rules.d/falco_rules_modified.yaml: │
│ 2022-11-20T12:27:25+0000: Loading rules from file /etc/falco/rules.d/jfrog_rules.yaml: │
│ Rules match ignored syscall: warning (ignored-evttype): │
│ loaded rules match the following events: access,brk,close,cpu_hotplug,drop,epoll_wait,eventfd,fcntl,fstat,fstat64,futex,getcwd,getdents,getdents64,getegid,geteuid,getgid,getpeername,getresgid,g │
│ etresuid,getrlimit,getsockname,getsockopt,getuid,infra,k8s,llseek,lseek,lstat,lstat64,mesos,mmap,mmap2,mprotect,munmap,nanosleep,notification,page_fault,poll,ppoll,pread,preadv,procinfo,pwrite,pwritev,r │
│ ead,readv,recv,recvmmsg,select,semctl,semget,semop,send,sendfile,sendmmsg,setrlimit,shutdown,signaldeliver,splice,stat,stat64,switch,sysdigevent,timerfd_create,write,writev; │
│ but these events are not returned unless running falco with -A │
│ 2022-11-20T12:27:25+0000: Unable to load the driver. │
│ 2022-11-20T12:27:25+0000: Runtime error: can't open BPF probe '/root/.falco/falco-bpf.o': Errno 2. Exiting. │
│ Stream closed EOF for jfrog-saas-prod-apse1-falco/jfrog-saas-prod-apse1-falco-925qj (falco)
seems there was a PR for this that went stale?
having the same issue, PR#900 have this drivers, but driver not appear here yet https://download.falco.org/?prefix=driver/3.0.1%2Bdriver/x86_64/
Hi all, thanks for opening an issue and sorry for the late response.
At the moment the currently supported driver versions for the prebuilt drivers, are:
E.g., I see that for the latest version (v3.0.1) of the driver, it is distributed for the kernel amazonlinux2
5.4.219-126.411.amzn2.x86_64_1
:
Is there something else we could help with @danielc103 @idoajfrog @dienbio?
Thank you fo
Thank you @maxgio92
If I wanted to contribute in the future for adding new kernels, how would I go about doing that?
Hey @danielc103, thank you!
You can generate configurations for new kernel releases to build drivers this way:
Fork this repository
From the driverkit
directory of the repository, run:
make generate -e TARGET_DISTRO=<TARGET_DISTRO> -e TARGET_KERNEL=<TARGET_KERNEL>
If you want the drivers for your local kernel, you can fill
$TARGET_KERNEL
with:"$(uname -r)_$(uname -v | sed 's/#\([[:digit:]]\+\).*/\1/')"
.Available values for
$TARGET_DISTRO
can be found here.
Send a PR to this upstream repository, with the changes
The configurations are then consumed by driverkit in our CI. You can find more info in the FAQ here.
You can find examples of configurations in this repository, at the paths: driverkit/config/<driver version>/<architecture>/<linux distribution>_<kernel release name>_<kernel build version>.yaml
files.
In the meantime @danielc103 here https://github.com/falcosecurity/test-infra/pull/924 you can find a PR to improve this documentation :-)
Hi @maxgio92, Thanks for the help and sorry for the delay! It looks like even though the driver is available Falco pods can pull it, The URL that I'm getting in the logs is - https://download.falco.org/driver/b7eb0dd65226a8dc254d228c8d950d07bf3521d2/falco_amazonlinux2_5.4.219-126 I'm getting 404 from it. Is it related to the app configuration?
Describe the bug
Falco pod is failing to run (start) due to a missing driver .
https://download.falco.org/?prefix=driver/2.0.0%2Bdriver/x86_64/
Error log
falco-driver-loader * Looking for a falco module locally (kernel 5.4.219-126.411.amzn2.x86_64) falco-driver-loader * Trying to download a prebuilt falco module from https://download.falco.org/driver/2.0.0%2Bdriver/x86_64/falco_amazonlinux2_5.4.219-126.411.amzn2.x86_64_1.ko falco-driver-loader curl: (22) The requested URL returned error: 404 falco-driver-loader Unable to find a prebuilt falco module
How to reproduce it
Create pod(s) on new AMI with updated kernel.
Expected behaviour
Successfully download and install prebuilt module.
Environment
eks - v1.22.15
Falco version: 0.32.1
System info: eks - v1.22.15
Cloud provider or hardware configuration: AWS EKS
OS: Amazon Linux 2
Kernel: 5.4.219-126.411.amzn2.x86_64
Installation method: Kubernetes