8 repositorios
The process of building loadable kernel modules from source code for specific operating system kernels.
Distinct from GPU Module Compilation Overrides: The candidates focus on GPU-specific overrides or C++20 modules; this is the general act of compiling Linux kernel modules.
Explore 8 awesome GitHub repositories matching operating systems & systems programming · Kernel Module Compilation. Refine with filters or upvote what's useful.
This project is an open source Linux GPU kernel driver implemented as a loadable kernel module. It functions as a GPU firmware loader, providing the low-level driver services necessary to enable direct communication between the operating system and graphics processing units. The driver utilizes a dual-module architecture that separates GPL-licensed kernel code from proprietary firmware blobs. This system extracts and links signed binary firmware images into the kernel modules at driver load time. The project provides driver support for Turing-architecture GPUs and all subsequent newer hardwa
Builds hardware driver modules from source for multiple supported architectures.
This project is a Linux kernel designed for Windows Linux integration, providing the underlying operating system kernel required to execute binary files and applications within the Windows Subsystem for Linux. It utilizes hypervisor-based virtualization to run a full kernel within a lightweight utility virtual machine managed by a Windows host. The repository enables the customization and compilation of the kernel from source. This allows for the modification of system behavior, the addition of specific drivers, and the tailoring of hardware compatibility for virtualized environments. The sy
Enables compiling a kernel from source with specific configuration changes and packaging modules into a virtual disk image.
The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage loadable kernel modules for modern Linux kernels. It covers the complete lifecycle of kernel modules, from building and loading to unloading and debugging, with a focus on extending kernel functionality without recompiling the entire kernel. The guide provides comprehensive coverage of core kernel programming concepts including dynamic module loading, file-operation registration, interrupt handling, kernel-user data copying, concurrency control, and deferred task scheduling. It
Teaches compiling kernel module source code against the running kernel's build tree to produce a .ko file.
ANE is an open-source framework for training neural networks directly on Apple's Neural Engine hardware, bypassing Apple's public Core ML toolchain through reverse-engineered private APIs. It provides low-level control over the ANE, enabling developers to compile custom compute graphs into binary kernels, partition transformer model layers into hardware-compatible subgraphs, and share GPU-allocated memory with the Neural Engine via zero-copy IOSurface buffers. The framework distinguishes itself by offering direct access to hardware performance counters and power telemetry for benchmarking thr
Compiles custom compute graphs into ANE-specific binary kernels using reverse-engineered private compiler services.
OpenWrt-Rpi is a firmware builder and embedded Linux build toolset designed to compile custom router operating system images for Raspberry Pi and NanoPi hardware. It utilizes a GitHub Actions CI pipeline to automate the generation of fresh firmware images from the latest source code via daily updates. The project maintains a custom package repository and local software sources for managing community plugins and kernel modules. This infrastructure is used to ensure version consistency and prevent dependency conflicts during the installation of network drivers and system extensions. The build
Builds loadable kernel modules from source to provide hardware support while preventing dependency conflicts.
This is the official documentation repository for Raspberry Pi hardware and software. It covers the complete range of Raspberry Pi single-board computers, the RP-series microcontrollers, and the Raspberry Pi operating system. The documentation provides reference material for setting up devices, configuring hardware, and using the system for tasks including AI inference, camera and video capture, embedded development, and remote access. The documentation covers the full boot chain from the GPU firmware and EEPROM bootloader through to kernel loading, with detailed guidance on boot configuratio
Documents configuring and compiling a custom Linux kernel using native or cross-compilation.
embedded-notes es una colección de guías de estudio técnicas y notas de desarrollo centradas en Linux embebido, los internos del kernel de Linux y programación en C. Sirve como referencia para el desarrollo de sistemas embebidos y un recurso de preparación para entrevistas técnicas en el campo. El proyecto proporciona documentación detallada sobre la escritura de drivers de dispositivos, gestión de memoria virtual y comprensión de los internos del kernel. También incluye guías sobre protocolos de red IoT, como MQTT y TCP/IP, y describe los detalles arquitectónicos de arquitecturas de chips y periféricos de hardware. El material cubre una amplia superficie de programación de sistemas, incluyendo gestión manual de memoria, gestión del ciclo de vida de procesos y la implementación de conceptos de sistemas operativos en tiempo real (RTOS). También incluye referencias para herramientas de bajo nivel, como compilación cruzada para ARM, análisis binario y scripting de shell para la automatización de compilaciones.
Provides instructions for building loadable kernel module objects and installing them for dynamic loading.
Este proyecto proporciona un framework de desarrollo para escribir módulos cargables del kernel de Linux utilizando el lenguaje de programación Rust. Establece una metodología para la programación de sistemas segura al imponer seguridad de memoria y de hilos dentro del entorno de ejecución restringido del kernel, permitiendo a los desarrolladores extender la funcionalidad del sistema operativo mientras previenen errores comunes de corrupción de memoria. El framework se distingue por la generación automatizada de interfaces de funciones externas (FFI) con seguridad de tipos, que conectan código de alto nivel con cabeceras y estructuras del sistema de bajo nivel. Mapea construcciones de sincronización de alto nivel directamente a mecanismos de bloqueo nativos del kernel, asegurando que los datos compartidos permanezcan protegidos a través de múltiples hilos de ejecución y contextos de interrupción. El conjunto de herramientas se integra con los pipelines de compilación nativos del kernel para gestionar la compilación y el enlace de código fuente en objetos binarios. Al proporcionar abstracciones seguras para la interfaz con hardware y entornos de recursos limitados, soporta la creación de controladores de dispositivos y componentes de sistema fiables que mantienen reglas estrictas de propiedad y préstamo en tiempo de compilación.
Provides tools to transform source code into static libraries compatible with native kernel build systems.