Overview of eBPF Implementation on Linux

eBPF on Linux Programs The core component of eBPF is the programs. eBPF programs can be attached to various locations in the kernel and invoked like functions. These programs have a wide range of applications, such as logging information, modifying data, making decisions, or triggering side effects. The locations where a program can be attached … Read more

Quick Guide to Linux Driver Development | Theory + Practice to Master the Kernel!

Quick Guide to Linux Driver Development | Theory + Practice to Master the Kernel!

For more content, you can join the Linux system knowledge base package (tutorials + videos + Q&A) Contact me on WeChat to receive a large discount coupon for the Linux comprehensive course: 1. Driver Content Learning 1.1. Foundation Must be fully mastered. 1.1.1. Rockchip Development Environment Necessity: The code environment must be set up before … Read more

In-Depth Character Device Driver: Usage of the ioctl Function

In-Depth Character Device Driver: Usage of the ioctl Function

1. Function of the ioctl Function A function for device control is provided in the kernel source code, and device control is implemented through the ioctl function, while data transmission is achieved through read/write. Example: For instance, the control of the camera’s operating mode is implemented through ioctl, while the reading and writing of camera … Read more

In-Depth Analysis of the Linux Routing Table Establishment Process

In-Depth Analysis of the Linux Routing Table Establishment Process

In-Depth Analysis of the Linux Routing Table Establishment Process 1. Working Principle The routing table is a core component of the Linux networking stack, used to determine the forwarding path of packets. The establishment process is divided into three levels: Kernel Initialization Stage Automatically create the local routing table (<span>local</span> table) Generate direct routes for … Read more

Assembly Language Implementation Techniques for Kernel and User Mode Communication

Assembly Language Implementation Techniques for Kernel and User Mode Communication

Basic Concepts of Device Objects and Symbolic Links In kernel programming, a Device Object is the core entity for communication between the kernel and user-mode applications. Device objects are similar to windows in Windows GUI programming, being the only entities capable of receiving and processing requests (IRP). Each device object belongs to a Driver Object, … Read more

X86 Kernel Notes_2_Driver Development

X86 Kernel Notes_2_Driver Development

This article is a highlight from the Kanxue ForumAuthor from Kanxue ForumID: SSH Landscape Painting 1 Creating a Driver Project Creating the Project Reference article for WDK and VS installation: X86 Kernel Notes 0 Configuring Dual Machine Debugging Environment Open VS2017, create a new project, select Visual C++ -> Windows Drivers -> Legacy -> Empty … Read more