Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
android/ | H | 25-Apr-2025 | - | 187 | 119 | |
arm64/ | H | 25-Apr-2025 | - | 295,098 | 260,314 | |
loongarch/ | H | 25-Apr-2025 | - | 236,816 | 210,496 | |
powerpc/ | H | 25-Apr-2025 | - | 258,598 | 232,856 | |
riscv/ | H | 25-Apr-2025 | - | 293,700 | 257,336 | |
x86/ | H | 25-Apr-2025 | - | 268,584 | 237,444 | |
.gitignore | H A D | 25-Apr-2025 | 681 | 66 | 65 | |
Android.bp | H A D | 25-Apr-2025 | 15 KiB | 716 | 624 | |
Makefile | H A D | 25-Apr-2025 | 5.7 KiB | 246 | 202 | |
Makefile.btfgen | H A D | 25-Apr-2025 | 1.3 KiB | 41 | 28 | |
README.md | H A D | 25-Apr-2025 | 5.6 KiB | 122 | 97 | |
bashreadline.bpf.c | H A D | 25-Apr-2025 | 910 | 39 | 27 | |
bashreadline.c | H A D | 25-Apr-2025 | 5.3 KiB | 237 | 190 | |
bashreadline.h | H A D | 25-Apr-2025 | 256 | 14 | 8 | |
bindsnoop.bpf.c | H A D | 25-Apr-2025 | 4 KiB | 152 | 124 | |
bindsnoop.c | H A D | 25-Apr-2025 | 7 KiB | 298 | 257 | |
bindsnoop.h | H A D | 25-Apr-2025 | 522 | 32 | 26 | |
biolatency.bpf.c | H A D | 25-Apr-2025 | 4.2 KiB | 187 | 141 | |
biolatency.c | H A D | 25-Apr-2025 | 9 KiB | 360 | 316 | |
biolatency.h | H A D | 25-Apr-2025 | 391 | 23 | 15 | |
biopattern.bpf.c | H A D | 25-Apr-2025 | 1.5 KiB | 58 | 48 | |
biopattern.c | H A D | 25-Apr-2025 | 5.7 KiB | 248 | 212 | |
biopattern.h | H A D | 25-Apr-2025 | 245 | 15 | 10 | |
biosnoop.bpf.c | H A D | 25-Apr-2025 | 4.8 KiB | 205 | 163 | |
biosnoop.c | H A D | 25-Apr-2025 | 8.8 KiB | 370 | 318 | |
biosnoop.h | H A D | 25-Apr-2025 | 465 | 27 | 20 | |
biostacks.bpf.c | H A D | 25-Apr-2025 | 3 KiB | 134 | 111 | |
biostacks.c | H A D | 25-Apr-2025 | 6.2 KiB | 248 | 212 | |
biostacks.h | H A D | 25-Apr-2025 | 505 | 28 | 20 | |
biotop.bpf.c | H A D | 25-Apr-2025 | 3.1 KiB | 143 | 108 | |
biotop.c | H A D | 25-Apr-2025 | 9.9 KiB | 471 | 391 | |
biotop.h | H A D | 25-Apr-2025 | 655 | 39 | 26 | |
bitesize.bpf.c | H A D | 25-Apr-2025 | 1.9 KiB | 86 | 65 | |
bitesize.c | H A D | 25-Apr-2025 | 5.3 KiB | 241 | 204 | |
bitesize.h | H A D | 25-Apr-2025 | 404 | 23 | 15 | |
bits.bpf.h | H A D | 25-Apr-2025 | 638 | 32 | 23 | |
blk_types.h | H A D | 25-Apr-2025 | 4.1 KiB | 127 | 73 | |
btf_helpers.c | H A D | 25-Apr-2025 | 4.8 KiB | 248 | 196 | |
btf_helpers.h | H A D | 25-Apr-2025 | 277 | 12 | 6 | |
cachestat.bpf.c | H A D | 25-Apr-2025 | 1.9 KiB | 91 | 75 | |
cachestat.c | H A D | 25-Apr-2025 | 7.7 KiB | 282 | 230 | |
capable.bpf.c | H A D | 25-Apr-2025 | 3.6 KiB | 163 | 123 | |
capable.c | H A D | 25-Apr-2025 | 10.7 KiB | 416 | 362 | |
capable.h | H A D | 25-Apr-2025 | 463 | 33 | 23 | |
compat.bpf.h | H A D | 25-Apr-2025 | 1 KiB | 46 | 32 | |
compat.c | H A D | 25-Apr-2025 | 2.3 KiB | 116 | 95 | |
compat.h | H A D | 25-Apr-2025 | 1.1 KiB | 47 | 33 | |
core_fixes.bpf.h | H A D | 25-Apr-2025 | 7.6 KiB | 253 | 133 | |
cpudist.bpf.c | H A D | 25-Apr-2025 | 2.8 KiB | 122 | 102 | |
cpudist.c | H A D | 25-Apr-2025 | 6.9 KiB | 304 | 262 | |
cpudist.h | H A D | 25-Apr-2025 | 238 | 14 | 9 | |
cpufreq.bpf.c | H A D | 25-Apr-2025 | 1.9 KiB | 86 | 68 | |
cpufreq.c | H A D | 25-Apr-2025 | 6.7 KiB | 292 | 243 | |
cpufreq.h | H A D | 25-Apr-2025 | 334 | 20 | 14 | |
drsnoop.bpf.c | H A D | 25-Apr-2025 | 2.6 KiB | 117 | 92 | |
drsnoop.c | H A D | 25-Apr-2025 | 6 KiB | 255 | 217 | |
drsnoop.h | H A D | 25-Apr-2025 | 268 | 16 | 11 | |
drsnoop_example.txt | H A D | 25-Apr-2025 | 2.3 KiB | 72 | 51 | |
errno_helpers.c | H A D | 25-Apr-2025 | 5.5 KiB | 233 | 210 | |
errno_helpers.h | H A D | 25-Apr-2025 | 186 | 8 | 4 | |
execsnoop.bpf.c | H A D | 25-Apr-2025 | 3.5 KiB | 149 | 119 | |
execsnoop.c | H A D | 25-Apr-2025 | 8.5 KiB | 381 | 329 | |
execsnoop.h | H A D | 25-Apr-2025 | 646 | 27 | 22 | |
exitsnoop.bpf.c | H A D | 25-Apr-2025 | 1.7 KiB | 63 | 50 | |
exitsnoop.c | H A D | 25-Apr-2025 | 6 KiB | 264 | 220 | |
exitsnoop.h | H A D | 25-Apr-2025 | 304 | 19 | 14 | |
filelife.bpf.c | H A D | 25-Apr-2025 | 3.5 KiB | 134 | 87 | |
filelife.c | H A D | 25-Apr-2025 | 4.5 KiB | 191 | 154 | |
filelife.h | H A D | 25-Apr-2025 | 288 | 16 | 11 | |
filetop.bpf.c | H A D | 25-Apr-2025 | 2.4 KiB | 93 | 78 | |
filetop.c | H A D | 25-Apr-2025 | 7.4 KiB | 332 | 287 | |
filetop.h | H A D | 25-Apr-2025 | 465 | 34 | 27 | |
fsdist.bpf.c | H A D | 25-Apr-2025 | 3.2 KiB | 194 | 156 | |
fsdist.c | H A D | 25-Apr-2025 | 12.2 KiB | 450 | 377 | |
fsdist.h | H A D | 25-Apr-2025 | 269 | 21 | 15 | |
fsslower.bpf.c | H A D | 25-Apr-2025 | 4.6 KiB | 209 | 170 | |
fsslower.c | H A D | 25-Apr-2025 | 12.3 KiB | 464 | 383 | |
fsslower.h | H A D | 25-Apr-2025 | 417 | 28 | 22 | |
funclatency.bpf.c | H A D | 25-Apr-2025 | 1.9 KiB | 108 | 86 | |
funclatency.c | H A D | 25-Apr-2025 | 10.3 KiB | 438 | 370 | |
funclatency.h | H A D | 25-Apr-2025 | 155 | 12 | 8 | |
gethostlatency.bpf.c | H A D | 25-Apr-2025 | 1.7 KiB | 76 | 58 | |
gethostlatency.c | H A D | 25-Apr-2025 | 7 KiB | 299 | 249 | |
gethostlatency.h | H A D | 25-Apr-2025 | 284 | 16 | 11 | |
hardirqs.bpf.c | H A D | 25-Apr-2025 | 2.8 KiB | 131 | 104 | |
hardirqs.c | H A D | 25-Apr-2025 | 6.6 KiB | 289 | 245 | |
hardirqs.h | H A D | 25-Apr-2025 | 243 | 17 | 11 | |
javagc.bpf.c | H A D | 25-Apr-2025 | 1.6 KiB | 82 | 66 | |
javagc.c | H A D | 25-Apr-2025 | 5.6 KiB | 244 | 200 | |
javagc.h | H A D | 25-Apr-2025 | 219 | 13 | 8 | |
kernel.config | H A D | 25-Apr-2025 | 125.1 KiB | 4,815 | 4,556 | |
klockstat.bpf.c | H A D | 25-Apr-2025 | 15.1 KiB | 743 | 579 | |
klockstat.c | H A D | 25-Apr-2025 | 21.8 KiB | 789 | 686 | |
klockstat.h | H A D | 25-Apr-2025 | 499 | 24 | 19 | |
ksnoop.bpf.c | H A D | 25-Apr-2025 | 12.6 KiB | 461 | 313 | |
ksnoop.c | H A D | 25-Apr-2025 | 23.9 KiB | 1,009 | 858 | |
ksnoop.h | H A D | 25-Apr-2025 | 2.9 KiB | 124 | 89 | |
llcstat.bpf.c | H A D | 25-Apr-2025 | 1.2 KiB | 59 | 46 | |
llcstat.c | H A D | 25-Apr-2025 | 6.3 KiB | 270 | 232 | |
llcstat.h | H A D | 25-Apr-2025 | 284 | 20 | 14 | |
map_helpers.c | H A D | 25-Apr-2025 | 2.2 KiB | 107 | 84 | |
map_helpers.h | H A D | 25-Apr-2025 | 328 | 12 | 6 | |
maps.bpf.h | H A D | 25-Apr-2025 | 1.4 KiB | 43 | 18 | |
mdflush.bpf.c | H A D | 25-Apr-2025 | 1.3 KiB | 47 | 38 | |
mdflush.c | H A D | 25-Apr-2025 | 3.5 KiB | 163 | 127 | |
mdflush.h | H A D | 25-Apr-2025 | 302 | 16 | 10 | |
memleak.bpf.c | H A D | 25-Apr-2025 | 9.4 KiB | 460 | 357 | |
memleak.c | H A D | 25-Apr-2025 | 27.1 KiB | 1,069 | 818 | |
memleak.h | H A D | 25-Apr-2025 | 332 | 22 | 17 | |
mountsnoop.bpf.c | H A D | 25-Apr-2025 | 3.1 KiB | 128 | 105 | |
mountsnoop.c | H A D | 25-Apr-2025 | 7.4 KiB | 334 | 284 | |
mountsnoop.h | H A D | 25-Apr-2025 | 614 | 41 | 34 | |
numamove.bpf.c | H A D | 25-Apr-2025 | 1.4 KiB | 71 | 56 | |
numamove.c | H A D | 25-Apr-2025 | 3.3 KiB | 135 | 109 | |
offcputime.bpf.c | H A D | 25-Apr-2025 | 2.8 KiB | 113 | 96 | |
offcputime.c | H A D | 25-Apr-2025 | 9.8 KiB | 366 | 326 | |
offcputime.h | H A D | 25-Apr-2025 | 304 | 20 | 14 | |
oomkill.bpf.c | H A D | 25-Apr-2025 | 846 | 30 | 22 | |
oomkill.c | H A D | 25-Apr-2025 | 4.1 KiB | 188 | 152 | |
oomkill.h | H A D | 25-Apr-2025 | 266 | 16 | 11 | |
opensnoop.bpf.c | H A D | 25-Apr-2025 | 3.3 KiB | 137 | 106 | |
opensnoop.c | H A D | 25-Apr-2025 | 9 KiB | 398 | 339 | |
opensnoop.h | H A D | 25-Apr-2025 | 439 | 27 | 20 | |
readahead.bpf.c | H A D | 25-Apr-2025 | 1.8 KiB | 88 | 68 | |
readahead.c | H A D | 25-Apr-2025 | 3.7 KiB | 165 | 130 | |
readahead.h | H A D | 25-Apr-2025 | 221 | 14 | 9 | |
runqlat.bpf.c | H A D | 25-Apr-2025 | 4 KiB | 178 | 142 | |
runqlat.c | H A D | 25-Apr-2025 | 6.9 KiB | 291 | 252 | |
runqlat.h | H A D | 25-Apr-2025 | 241 | 14 | 9 | |
runqlen.bpf.c | H A D | 25-Apr-2025 | 1.2 KiB | 53 | 36 | |
runqlen.c | H A D | 25-Apr-2025 | 7.1 KiB | 318 | 272 | |
runqlen.h | H A D | 25-Apr-2025 | 212 | 13 | 8 | |
runqslower.bpf.c | H A D | 25-Apr-2025 | 2.8 KiB | 118 | 89 | |
runqslower.c | H A D | 25-Apr-2025 | 5.5 KiB | 227 | 194 | |
runqslower.h | H A D | 25-Apr-2025 | 283 | 16 | 11 | |
runqslower_example.txt | H A D | 25-Apr-2025 | 1.9 KiB | 55 | 40 | |
sigsnoop.bpf.c | H A D | 25-Apr-2025 | 3.2 KiB | 146 | 115 | |
sigsnoop.c | H A D | 25-Apr-2025 | 6.1 KiB | 265 | 224 | |
sigsnoop.h | H A D | 25-Apr-2025 | 283 | 17 | 11 | |
sigsnoop_example.txt | H A D | 25-Apr-2025 | 1.6 KiB | 46 | 33 | |
slabratetop.bpf.c | H A D | 25-Apr-2025 | 1.3 KiB | 54 | 40 | |
slabratetop.c | H A D | 25-Apr-2025 | 6.7 KiB | 307 | 263 | |
slabratetop.h | H A D | 25-Apr-2025 | 247 | 14 | 9 | |
softirqs.bpf.c | H A D | 25-Apr-2025 | 1.7 KiB | 89 | 71 | |
softirqs.c | H A D | 25-Apr-2025 | 6.1 KiB | 281 | 237 | |
softirqs.h | H A D | 25-Apr-2025 | 192 | 12 | 7 | |
solisten.bpf.c | H A D | 25-Apr-2025 | 2.5 KiB | 102 | 82 | |
solisten.c | H A D | 25-Apr-2025 | 5.1 KiB | 222 | 181 | |
solisten.h | H A D | 25-Apr-2025 | 278 | 18 | 13 | |
stat.h | H A D | 25-Apr-2025 | 767 | 28 | 21 | |
statsnoop.bpf.c | H A D | 25-Apr-2025 | 3.2 KiB | 131 | 104 | |
statsnoop.c | H A D | 25-Apr-2025 | 5.7 KiB | 227 | 192 | |
statsnoop.h | H A D | 25-Apr-2025 | 285 | 17 | 12 | |
syscall_helpers.c | H A D | 25-Apr-2025 | 18.5 KiB | 852 | 809 | |
syscall_helpers.h | H A D | 25-Apr-2025 | 313 | 13 | 8 | |
syscount.bpf.c | H A D | 25-Apr-2025 | 2.8 KiB | 116 | 89 | |
syscount.c | H A D | 25-Apr-2025 | 12 KiB | 511 | 438 | |
syscount.h | H A D | 25-Apr-2025 | 274 | 17 | 10 | |
tcpconnect.bpf.c | H A D | 25-Apr-2025 | 5.3 KiB | 227 | 182 | |
tcpconnect.c | H A D | 25-Apr-2025 | 10.4 KiB | 460 | 401 | |
tcpconnect.h | H A D | 25-Apr-2025 | 732 | 47 | 35 | |
tcpconnlat.bpf.c | H A D | 25-Apr-2025 | 3.2 KiB | 141 | 115 | |
tcpconnlat.c | H A D | 25-Apr-2025 | 6.5 KiB | 249 | 212 | |
tcpconnlat.h | H A D | 25-Apr-2025 | 392 | 27 | 21 | |
tcplife.bpf.c | H A D | 25-Apr-2025 | 3.9 KiB | 153 | 131 | |
tcplife.c | H A D | 25-Apr-2025 | 5.9 KiB | 248 | 206 | |
tcplife.h | H A D | 25-Apr-2025 | 455 | 29 | 22 | |
tcppktlat.bpf.c | H A D | 25-Apr-2025 | 3.6 KiB | 143 | 117 | |
tcppktlat.c | H A D | 25-Apr-2025 | 6.6 KiB | 268 | 236 | |
tcppktlat.h | H A D | 25-Apr-2025 | 321 | 20 | 15 | |
tcppktlat_example.txt | H A D | 25-Apr-2025 | 3.3 KiB | 71 | 54 | |
tcprtt.bpf.c | H A D | 25-Apr-2025 | 4.2 KiB | 157 | 118 | |
tcprtt.c | H A D | 25-Apr-2025 | 8.8 KiB | 342 | 298 | |
tcprtt.h | H A D | 25-Apr-2025 | 293 | 20 | 14 | |
tcpstates.bpf.c | H A D | 25-Apr-2025 | 2.7 KiB | 103 | 82 | |
tcpstates.c | H A D | 25-Apr-2025 | 7.4 KiB | 297 | 256 | |
tcpstates.h | H A D | 25-Apr-2025 | 419 | 24 | 18 | |
tcpsynbl.bpf.c | H A D | 25-Apr-2025 | 1.4 KiB | 67 | 52 | |
tcpsynbl.c | H A D | 25-Apr-2025 | 5.7 KiB | 260 | 217 | |
tcpsynbl.h | H A D | 25-Apr-2025 | 192 | 12 | 7 | |
tcptop.bpf.c | H A D | 25-Apr-2025 | 3.2 KiB | 128 | 92 | |
tcptop.c | H A D | 25-Apr-2025 | 9.5 KiB | 427 | 356 | |
tcptop.h | H A D | 25-Apr-2025 | 358 | 23 | 17 | |
tcptracer.bpf.c | H A D | 25-Apr-2025 | 7.6 KiB | 336 | 251 | |
tcptracer.c | H A D | 25-Apr-2025 | 6.9 KiB | 315 | 270 | |
tcptracer.h | H A D | 25-Apr-2025 | 733 | 43 | 29 | |
trace_helpers.c | H A D | 25-Apr-2025 | 24.3 KiB | 1,235 | 1,007 | |
trace_helpers.h | H A D | 25-Apr-2025 | 3.2 KiB | 105 | 56 | |
uprobe_helpers.c | H A D | 25-Apr-2025 | 6.5 KiB | 295 | 233 | |
uprobe_helpers.h | H A D | 25-Apr-2025 | 649 | 19 | 13 | |
vfsstat.bpf.c | H A D | 25-Apr-2025 | 1.3 KiB | 79 | 61 | |
vfsstat.c | H A D | 25-Apr-2025 | 4.9 KiB | 215 | 183 | |
vfsstat.h | H A D | 25-Apr-2025 | 224 | 16 | 11 | |
wakeuptime.bpf.c | H A D | 25-Apr-2025 | 2.2 KiB | 98 | 76 | |
wakeuptime.c | H A D | 25-Apr-2025 | 7 KiB | 274 | 239 | |
wakeuptime.h | H A D | 25-Apr-2025 | 281 | 16 | 10 |
README.md
1Useful links 2------------ 3 4- [BPF Portability and CO-RE](https://facebookmicrosites.github.io/bpf/blog/2020/02/19/bpf-portability-and-co-re.html) 5- [HOWTO: BCC to libbpf conversion](https://facebookmicrosites.github.io/bpf/blog/2020/02/20/bcc-to-libbpf-howto-guide.html) 6- [Tips & tricks for writing libbpf-tools](https://en.pingcap.com/blog/tips-and-tricks-for-writing-linux-bpf-applications-with-libbpf) 7 8Building 9------- 10 11To build libbpf-based tools, simply run `make`. This will build all the listed 12tools/applications. All the build artifacts, by default, go into .output 13subdirectory to keep source code and build artifacts completely separate. The 14only exception is resulting tool binaries, which are put in a current 15directory. `make clean` will clean up all the build artifacts, including 16generated binaries. 17 18Given that the libbpf package might not be available across wide variety of 19distributions, all libbpf-based tools are linked statically against a version 20of libbpf that BCC links against (from submodule under src/cc/libbpf). This 21results in binaries with minimal amount of dependencies (libc, libelf, and 22libz are linked dynamically, though, given their widespread availability). 23If your build fails because the libbpf submodule is outdated, try running `git 24submodule update --init --recursive`. 25 26Tools are expected to follow a simple naming convention: 27 - <tool>.c contains userspace C code of a tool. 28 - <tool>.bpf.c contains BPF C code, which gets compiled into BPF ELF file. 29 This ELF file is used to generate BPF skeleton <tool>.skel.h, which is 30 subsequently is included from <tool>.c. 31 - <tool>.h can optionally contain any types and constants, shared by both 32 BPF and userspace sides of a tool. 33 34For such cases, simply adding <tool> name to Makefile's APPS variable will 35ensure this tool is built alongside others. 36 37For more complicated applications, some extra Makefile rules might need to be 38created. For such cases, it is advised to put application into a dedicated 39subdirectory and link it from main Makefile. 40 41vmlinux.h generation 42------------------- 43 44vmlinux.h contains all kernel types, both exported and internal-only. BPF 45CO-RE-based applications are expected to include this file in their BPF 46program C source code to avoid dependency on kernel headers package. 47 48For more reproducible builds, vmlinux.h header file is pre-generated and 49checked in along the other sources. This is done to avoid dependency on 50specific user/build server's kernel configuration, because vmlinux.h 51generation depends on having a kernel with BTF type information built-in 52(which is enabled by `CONFIG_DEBUG_INFO_BTF=y` Kconfig option See below). 53 54vmlinux.h is generated from upstream Linux version at particular minor 55version tag. E.g., `vmlinux_505.h` is generated from v5.5 tag. Exact set of 56types available in compiled kernel depends on configuration used to compile 57it. To generate present vmlinux.h header, default configuration was used, with 58only extra `CONFIG_DEBUG_INFO_BTF=y` option enabled. 59 60Given different kernel version can have incompatible type definitions, it 61might be important to use vmlinux.h of a specific kernel version as a "base" 62version of header. To that extent, all vmlinux.h headers are versioned by 63appending <MAJOR><MINOR> suffix to a file name. There is always a symbolic 64link vmlinux.h, that points to whichever version is deemed to be default 65(usually, latest). 66 67bpftool 68------- 69 70bpftool is a universal tool used for inspection of BPF resources, as well as 71providing various extra BPF-related facilities, like code-generation of BPF 72program skeletons. The latter functionality is heavily used by these tools to 73load and interact with BPF programs. 74 75Given bpftool package can't yet be expected to be available widely across many 76distributions, bpftool binary is checked in into BCC repository in bin/ 77subdirectory. Once bpftool package is more widely available, this can be 78changed in favor of using pre-packaged version of bpftool. 79 80 81Re-compiling your Kernel with CONFIG_DEBUG_INFO_BTF=y 82----------------------------------------------------- 83libbpf probes to see if your sys fs exports the file `/sys/kernel/btf/vmlinux` (from Kernel 5.5+) or if you have the ELF version in your system [`code`](https://github.com/libbpf/libbpf/blob/master/src/btf.c) 84Please note the ELF file could exist without the BTF info in it. Your Kconfig should contain the options below 85 861. Compile options 87```code 88CONFIG_DEBUG_INFO_BTF=y 89CONFIG_DEBUG_INFO=y 90``` 912. Also, make sure that you have pahole 1.13 (or preferably 1.16+) during the 92kernel build (it comes from dwarves package). Without it, BTF won't be 93generated, and on older kernels you'd get only warning, but still would 94build kernel successfully 95 96Running in kernels without CONFIG_DEBUG_INFO_BTF=y 97-------------------------------------------------- 98 99It's possible to run some tools in kernels that don't expose 100`/sys/kernel/btf/vmlinux`. For those cases, 101[BTFGen](https://lore.kernel.org/bpf/[email protected]) 102and [BTFHub](https://github.com/aquasecurity/btfhub) can be used to 103generate small BTF files for the most popular Linux distributions that 104are shipped with the tools in order to provide the needed information to 105perform the CO-RE relocations when loading the eBPF programs. 106 107If you haven't cloned the 108[btfhub-archive](https://github.com/aquasecurity/btfhub) repository, you 109can run make and it'll clone it for you into the `$HOME/.local/share` 110directory: 111 112```bash 113make ENABLE_MIN_CORE_BTFS=1 -j$(nproc) 114``` 115 116If you have a local copy of such repository, you can pass it's location 117to avoid cloning it again: 118 119```bash 120make ENABLE_MIN_CORE_BTFS=1 BTF_HUB_ARCHIVE=<path_to_btfhub-archive> -j$(nproc) 121``` 122