linfeng 72423f90bb feat(ebpf): support Aya framework. (#1070) | 1 bulan lalu | |
---|---|---|
.. | ||
syscall_ebpf | 1 bulan lalu | |
syscall_ebpf-common | 1 bulan lalu | |
syscall_ebpf-ebpf | 1 bulan lalu | |
.gitignore | 1 bulan lalu | |
Cargo.toml | 1 bulan lalu | |
Makefile | 1 bulan lalu | |
README.md | 1 bulan lalu | |
rustfmt.toml | 1 bulan lalu |
rustup toolchain install stable
rustup toolchain install nightly --component rust-src
rustup target add ${ARCH}-unknown-linux-musl
brew install llvm
(on macOS)brew install filosottile/musl-cross/musl-cross
(on macOS)cargo install bpf-linker
(--no-default-features
on macOS)Use cargo build
, cargo check
, etc. as normal. Run your program with:
cargo run --release --config 'target."cfg(all())".runner="sudo -E"'
Cargo build scripts are used to automatically build the eBPF correctly and include it in the program.
Cross compilation should work on both Intel and Apple Silicon Macs.
CC=${ARCH}-linux-musl-gcc cargo build --package syscall_ebpf --release \
--target=${ARCH}-unknown-linux-musl \
--config=target.${ARCH}-unknown-linux-musl.linker=\"${ARCH}-linux-musl-gcc\"
The cross-compiled program target/${ARCH}-unknown-linux-musl/release/syscall_ebpf
can be
copied to a Linux server or VM and run there.