export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/share/bcc/tools/ export TMPDIR=/tmp/ psk=/proc/sys/kernel/kptr_restrict if [ -f $psk ]; then echo 0 > $psk; fi override_vers=1 this_vers=$(/get_kvers.sh) if [ -d /kernel-headers/ ]; then export BCC_KERNEL_SOURCE=/kernel-headers/; h_vers=0 vers_line=$(grep LINUX_VERSION_CODE /kernel-headers/include/generated/uapi/linux/version.h) if [ "x$vers_line" != "x" ]; then h_vers=$(echo $vers_line | cut -d ' ' -f3) fi if [ $this_vers -eq $h_vers ]; then override_vers=0 else this_major=$(($this_vers / (256 * 256))) this_minor=$(($this_vers / 256 % 256)) h_major=$(($h_vers / (256 * 256))) h_minor=$(($h_vers / 256 % 256)) if [ $this_major -ne $h_major ] || [ $this_minor -ne $h_minor ]; then echo "Error: kernel version does not match installed headers ($this_major.$this_minor <> $h_major.$h_minor)" echo "BCC will not work" override_vers=0 fi fi fi # Override kernel version if we haven't found headers with them. # Needed for BCC to work on slightly mismatched kernels. if [ $override_vers -eq 1 ]; then export BCC_LINUX_VERSION_CODE=$this_vers fi