Closed faarshad closed 4 years ago
I was able to build the falco probe by installing gcc-9.2.0 from source on amazon linux 2 admin container of bottlerocket. I followed the procedure listed here to install gcc-9.2.0.
Following logs show that falco driver was built:
bash-4.2# make driver
/usr/local/bin/cmake -H/tmp/falco -B/tmp/falco/build --check-build-system CMakeFiles/Makefile.cmake 0
make -f CMakeFiles/Makefile2 driver
make[1]: Entering directory `/tmp/falco/build'
/usr/local/bin/cmake -H/tmp/falco -B/tmp/falco/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /tmp/falco/build/CMakeFiles 0
make -f CMakeFiles/Makefile2 driver/CMakeFiles/driver.dir/all
make[2]: Entering directory `/tmp/falco/build'
make -f driver/CMakeFiles/driver.dir/build.make driver/CMakeFiles/driver.dir/depend
make[3]: Entering directory `/tmp/falco/build'
cd /tmp/falco/build && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/falco /tmp/falco/build/sysdig-repo/sysdig-prefix/src/sysdig/driver /tmp/falco/build /tmp/falco/build/driver
/tmp/falco/build/driver/CMakeFiles/driver.dir/DependInfo.cmake --color=
Scanning dependencies of target driver
make[3]: Leaving directory `/tmp/falco/build'
make -f driver/CMakeFiles/driver.dir/build.make driver/CMakeFiles/driver.dir/build
make[3]: Entering directory `/tmp/falco/build'
cd /tmp/falco/build/driver/src && make
make[4]: Entering directory `/tmp/falco/build/driver/src'
make -C /lib/modules/5.4.50/build M=/tmp/falco/build/driver/src modules
make[5]: Entering directory `/usr/src/kernels/5.4.50'
CC [M] /tmp/falco/build/driver/src/main.o
CC [M] /tmp/falco/build/driver/src/dynamic_params_table.o
CC [M] /tmp/falco/build/driver/src/fillers_table.o
CC [M] /tmp/falco/build/driver/src/flags_table.o
CC [M] /tmp/falco/build/driver/src/ppm_events.o
CC [M] /tmp/falco/build/driver/src/ppm_fillers.o
CC [M] /tmp/falco/build/driver/src/event_table.o
CC [M] /tmp/falco/build/driver/src/syscall_table.o
CC [M] /tmp/falco/build/driver/src/ppm_cputime.o
LD [M] /tmp/falco/build/driver/src/falco.o
Building modules, stage 2.
MODPOST 1 modules
CC [M] /tmp/falco/build/driver/src/falco.mod.o
LD [M] /tmp/falco/build/driver/src/falco.ko
make[5]: Leaving directory `/usr/src/kernels/5.4.50'
make[4]: Leaving directory `/tmp/falco/build/driver/src'
cd /tmp/falco/build/driver/src && /usr/local/bin/cmake -E copy_if_different falco.ko /tmp/falco/build/driver
make[3]: Leaving directory `/tmp/falco/build'
Built target driver
make[2]: Leaving directory `/tmp/falco/build'
/usr/local/bin/cmake -E cmake_progress_start /tmp/falco/build/CMakeFiles 0
make[1]: Leaving directory `/tmp/falco/build'
Load the driver in bottlerocket-os by using sudo sheltie
and insmod
from admin container
sudo sheltie
insmod /run/host-containerd/io.containerd.runtime.v2.task/default/admin/rootfs/tmp/falco/build/driver/src/falco.ko
It might take some time to get the module loaded into the kernel. Verify my running lsmod
bash-5.0# lsmod | more
Module Size Used by
falco 638976 2
I think this issue keep happening, is there a plan to fix this?
Bug Description I am trying to compile the driver for falco-0.24.0 for 5.4.50 kernel and it is giving me the following error:
Setup: Building the driver from inside of Amazon Linux 2 container image running on top of Bottlerocket OS 1.0.1(
aws-k8s-1.16
) gcc/g++ version= 7.3.1-9 cmake version = 3.10.0Errors during compilation:
How to reproduce it On bottlerocket-os, login into the admin container which is a amazon-linux-2 container & execute the following for installing the build toolchain and then building the falco probe:
Expected behaviour A kernel module built in
build/driver/src/falco.ko
Environment
5.4.50
Additional context
This issue seems similar to https://github.com/falcosecurity/falco/issues/1405 Also, Missing support for asm_inline in Linux 5.4 could be the issue.