6 repositorios
Abstractions that normalize memory access and feature availability across different operating system kernel versions.
Distinct from Compatibility Layer Managers: Distinct from browser or language polyfills: specifically targets memory and API compatibility between different Linux kernel versions.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Kernel Version Compatibility Layers. Refine with filters or upvote what's useful.
This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode loader and kernel interface to inject instructions into kernel hooks for system-level execution and observability across both Linux and Windows operating systems. The library features a relocation engine and tooling to ensure program compatibility across different kernel versions and distributions. It supports portable deployment by embedding compiled objects for multiple CPU architectures into a single binary and provides the ability to load signed system drivers on Windows. The
Adjusts memory accesses at runtime using type formats so programs work across different distributions and versions.
ArchWSL is a pre-configured Arch Linux distribution designed to run within the Windows Subsystem for Linux. It provides a method for deploying a functional Linux environment through root filesystem bootstrapping via application packages or zip archives. The project includes a dedicated instance manager for backing up, restoring, and managing multiple isolated Linux environment instances. It also features a compatibility patch for the standard C library and core system libraries to ensure software runs on older kernel versions. The system covers service management through native or emulated s
Implements a compatibility layer using patched glibc binaries to ensure functionality on older Linux kernel versions.
Pixie is an open-source observability platform for Kubernetes that uses eBPF to automatically capture telemetry data from clusters without requiring any manual instrumentation or code changes. It functions as an eBPF telemetry collector, a continuous application profiler, a network traffic analyzer, and a scriptable telemetry query engine, all within a single Kubernetes-native tool. The platform distinguishes itself through several integrated capabilities. It continuously samples stack traces from compiled-language code to identify CPU performance bottlenecks, visualizing the results as inter
Ships a distributed bpftrace deployment system that respects per-node kernel version constraints.
palera1n is an iOS jailbreak tool that exploits a permanent hardware vulnerability in the bootrom of A8 through A11 Apple devices running iOS 15.0 or later, granting root access for system customization and third-party software installation. The tool also extends this jailbreak technique to Apple T2-equipped Macs running bridgeOS 5.0 or later, providing system-level access and modification capabilities on those devices. The tool offers two distinct jailbreak environments: a Rootless mode that provides system access without modifying the root filesystem, and a Full-root mode that grants unrest
Extends the jailbreak mechanism to Apple T2 chips by adapting kernel patches and boot processes for bridgeOS.
Aya is a Rust-native framework for writing, compiling, and loading eBPF programs into the Linux kernel. It provides a complete development environment that eliminates the need for a C toolchain or libbpf, allowing developers to work entirely within the Rust ecosystem. The framework manages the full lifecycle of eBPF programs, including async runtime integration, CO-RE BTF resolution for kernel version portability, ELF-based program loading, and safe kernel memory access. The framework distinguishes itself through its pure Rust compilation pipeline, which compiles Rust source code directly int
Resolves kernel data structure offsets at load time using BTF for portable eBPF binaries.
Este proyecto es un recurso educativo que proporciona un tutorial de desarrollo integral para escribir y cargar programas eBPF utilizando C, Go y Rust dentro del kernel de Linux. Sirve como una guía técnica para desarrollar lógica personalizada para ejecutar directamente en el kernel. Los materiales cubren dominios especializados incluyendo observabilidad y rastreo del kernel, implementación de seguridad para detección de intrusiones e ingeniería de red de alto rendimiento para filtrado de paquetes y balanceo de carga. También incluye manuales dedicados para el rastreo del kernel de Linux y el uso de kprobes, uprobes y tracepoints. El proyecto abarca una amplia gama de áreas de capacidad, como instrumentación del kernel, monitoreo y observabilidad del sistema, análisis de red y aplicación de seguridad. Además, se extiende a la depuración a nivel de hardware para GPUs y controladores, así como a la manipulación de sistemas de bajo nivel y gestión de recursos.
Identifies specific kernel tracepoint structure versions at runtime to maintain functionality across different kernel releases.