Building an Operating System from Scratch! A Practical Tutorial on C Language Kernel Development

Building an Operating System from Scratch! A Practical Tutorial on C Language Kernel Development

Introduction: The operating system is the crown jewel of computer science, and the kernel is the gem on that crown. Have you ever dreamed of writing your own operating system? Today, we will guide you through the process of implementing a simple operating system kernel from scratch using the C language! πŸš€ Why Choose C … Read more

Challenge Yourself: 21 Days to Master Linux Kernel Driver Development

Challenge Yourself: 21 Days to Master Linux Kernel Driver Development

Table of Contents 1. About the Author 1.1 Author’s Contact Information 1.2 Support 2. Required Knowledge and Tools 2.1 Knowledge Points to Master 2.2 Knowledge Points to Understand 3. What You Can Learn from This Series of Blogs 3.1 Features of This Blog Series 3.2 21-Day Learning Goals 3.3 21-Day Learning Content 3.4 Learning Schedule … Read more

In-Depth Understanding of the Linux I2C Subsystem: From Hardware Protocol to Driver Practice

In-Depth Understanding of the Linux I2C Subsystem: From Hardware Protocol to Driver Practice

5. Composition of the I2C Subsystem The kernel space can be divided into: i2c device drivers, i2c core, and i2c bus drivers. i2c core: Implementation of the framework; provides methods for registering and unregistering i2c bus drivers and device drivers; the upper-level code for i2c communication methods (algorithm) that is independent of specific adapters, as … Read more

Rust for Linux: Rust Kernel Policy

Rust for Linux: Rust Kernel Policy

β€œ The Rust for Linux project seems to be steadily progressing. According to its official website, there are at least six full-time engineers working on it across various companies. There are even more part-time contributors.” Due to its safety features, Rust can reduce errors such as memory overflows and prevent multi-threaded data race issues. It … Read more

Fundamentals of Kernel Development for BSP Engineers

Fundamentals of Kernel Development for BSP Engineers

1. Fundamentals of Kernel Development for BSP Engineers Hello everyone, I am Sha Shixiong. We plan to start a series of topics called <span>Fundamentals of Kernel Development for BSP Engineers</span>. I have been engaged in BSP development for many years, with extensive experience in chip validation and BringUp. Initially, I planned to update content related … Read more

Finding Linux Kernel Maintainers: “I Don’t Want to Be Yelled at by Linus”

Finding Linux Kernel Maintainers: "I Don't Want to Be Yelled at by Linus"

(Add Linux enthusiasts to your favorites to enhance your Linux skills) Source: Open Source China www.oschina.net/news/116890/linux-kernel-maintainers-are-hard-to-find Recently, a discussion between Linus Torvalds and VMware’s Chief Open Source Officer Dirk Hohndel about the future of Linux kernel maintenance has attracted attention in the tech community. Linus believes that after the current generation of Linux kernel maintainers … Read more

Building an Embedded Linux Environment on Raspberry Pi 4B: A Complete Guide from Scratch

Building an Embedded Linux Environment on Raspberry Pi 4B: A Complete Guide from Scratch

“Building an Embedded Linux Environment on Raspberry Pi 4B: A Complete Guide from Scratch” Introduction The Raspberry Pi 4B, as a widely popular embedded development platform, is an ideal choice for embedded Linux development due to its powerful performance and rich peripheral interfaces. This article is aimed at embedded development engineers and provides a detailed … Read more

Father of Linux: We Will Not Replace C with Rust for Kernel Development

Father of Linux: We Will Not Replace C with Rust for Kernel Development

Author: Jeremy AndrewsTranslator: Tu LingEditor: Cai FangfangLinux was born in 1991, and it has been 30 years since then. Although it started as a personal project of Linus, rather than a grand dream to develop a new operating system, Linux is now ubiquitous. Thirty years ago, when Linus Torvalds first released the Linux kernel, he … Read more

From Assembly to Kernel Hacking: The Underlying Art of Linux System Calls

From Assembly to Kernel Hacking: The Underlying Art of Linux System Calls

1. Overview of System Calls A system call is a set of interfaces provided by the operating system kernel to user-space programs, allowing user programs to request services from the kernel. It is a controlled communication mechanism between user space and kernel space. Why Do We Need System Calls? Permission Isolation: User programs run in … Read more