Linux Kernel
The Linux kernel is the open-source, monolithic operating system kernel that forms the foundation of Linux-based systems — from embedded microcontrollers and industrial controllers to smartphones, servers, and supercomputers.
Architecture
The kernel manages hardware resources and exposes them to user space through a stable system call interface. Core subsystems include:
- Process scheduler — CFS for throughput, PREEMPT-RT patches for deterministic real-time latency
- Memory management — virtual memory, huge pages, NUMA balancing, CMA for DMA-capable buffers
- Device model — unified bus/driver binding via
struct device, device tree for hardware description - Virtual file system (VFS) — abstraction layer over ext4, btrfs, overlayfs, tmpfs, and others
- Networking stack — full TCP/IP, raw sockets, netfilter, and hardware offload paths
- Security subsystems — LSM framework, SELinux, AppArmor, seccomp, KASLR, kernel lockdown
Embedded and Real-Time Use
For embedded and industrial targets the most relevant kernel features are:
- PREEMPT-RT — converts most kernel spinlocks to sleeping mutexes, enabling sub-100 µs worst-case latency
- Device tree (DTS/DTB) — hardware description compiled separately from the kernel image; used on ARM, RISC-V, and MIPS platforms
- Kconfig / Kbuild — granular configuration system; strips unused subsystems to reduce image size and attack surface
- Cross-compilation —
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-toolchain variables; supported for x86-64, ARM32/64, RISC-V, MIPS, PowerPC - Initramfs / initrd — early user space for mounting root; critical in secure-boot chains
- dm-verity — block-level integrity verification for read-only root filesystems
Versioning and Long-Term Support
The kernel follows a roughly 8–10 week release cycle (v6.x). The kernel.org LTS programme maintains selected releases for 2–6 years. Common LTS branches used in production embedded systems:
- 6.6 LTS — current long-term (EOL Dec 2026)
- 6.1 LTS — used in Debian 12, Yocto Scarthgap (EOL Dec 2026)
- 5.15 LTS — widely deployed, EOL Dec 2026
- 5.10 LTS — Android Common Kernel base, EOL Dec 2026
Upstream Contribution
The kernel uses a patch-based workflow over mailing lists. Subsystem maintainers collect patches and send pull requests to Linus Torvalds for each merge window. Key tools: git send-email, b4, checkpatch.pl, scripts/get_maintainer.pl.
Related Technologies
- U-Boot — most common bootloader on embedded targets; loads the kernel image and DTB
- Yocto Project — build system for custom Linux distributions; manages kernel recipe, patches, and config fragments via
linux-yoctoor vendor BSP layers - Buildroot — simpler alternative to Yocto for smaller embedded systems
- Zephyr RTOS — not Linux, but the standard RTOS alternative for MCU targets where Linux is too heavy