An Overview of Makefile, Kconfig, and .config in the Kernel

An Overview of Makefile, Kconfig, and .config in the Kernel

The Linux kernel source code is extensive, and it can be confusing to understand the relationship between Makefile, Kconfig, and .config. Not knowing how the kernel compilation system works can lead to issues when trying to modify the kernel, integrate your own drivers, or configure the kernel. These problems are all related to Makefile, Kconfig, … Read more

An Overview of Makefile, Kconfig, and .config in Linux Kernel Source

An Overview of Makefile, Kconfig, and .config in Linux Kernel Source

Click on the above“Embedded and Linux Matters”, select“Pin/Star the Official Account” Welfare and valuable content delivered first-hand The Linux kernel source code files are numerous, and it can be confusing to understand the relationship between Makefile, Kconfig, and .config. Not knowing the kernel compilation system can lead to issues when compiling or modifying the kernel, … Read more

Linux USB Device Driver Model

Linux USB Device Driver Model

Linux kernel source: include/linux/usb.h Linux kernel source: drivers/hid/usbhid/usbmouse.c 1. BUS/DEV/DRV Model “USB Interface” is a logical USB device, and the usb_driver driver written supports the “USB interface”: After the USB controller or Hub recognizes the USB device, it will create and register usb_device Once usb_device is claimed by the driver in “drivers/usb/core/generic.c”, it will select … Read more

An Overview of Linux PCI Device Drivers (Part 2)

An Overview of Linux PCI Device Drivers (Part 2)

Click on the top “Baijian Technology”, to pin the public account Embedded technical content delivered promptly —— Author: linuxdrivers Original article: https://blog.csdn.net/linuxdrivers/article/details/5917478 In the previous article, “An Overview of Linux PCI Device Drivers (Part 1)” (hereafter referred to as Overview (1)), we introduced the PCI configuration register set, and Linux PCI initialization utilizes these registers. … Read more

Linux Device Model: Architecture Of Driver World

Linux Device Model: Architecture Of Driver World

Hello, I am Lao Wu. Does every ambitious person feel that they can work a little harder? In the end, if the goal is not achieved, the reason for failure can always be attributed to “not trying a little harder”. However, the biggest misconception about effort is: the longer the time and the more painful … Read more

Linux Kernel Boot Process – Building NUMA Node Zonelists – Source Code Explanation

Linux Kernel Boot Process - Building NUMA Node Zonelists - Source Code Explanation

This is the 120th lesson of the Linux Kernel Boot Process course. This lesson explains from the source code perspective how the Linux kernel constructs zonelists for NUMA nodes, as well as the categories of zonelists and their functions, etc. The previous lesson covered prerequisite knowledge, and this lesson discusses the corresponding kernel source code. … Read more

Understanding the Linux Kernel Makefile Execution Process

Understanding the Linux Kernel Makefile Execution Process

This article is an excellent piece from the Kanxue Forum Author ID on Kanxue Forum: jmpcall Essential Knowledge 1.1. Basic Syntax of Makefile If you are not familiar with Makefile syntax, it is recommended to learn it systematically, especially the following points: (1) Which parts of the Makefile contain shell commands: the command part in … Read more

In-Depth Study of Makefile

In-Depth Study of Makefile

In-Depth Study of Makefile In previous articles, we analyzed character device drivers together. If we have already written the driver code, what should we do next? First, we need to run make, and upon successful compilation, a globalmem.ko file will be generated. Next, we need to insert this kernel module into the kernel and use … Read more

Debugging ARM64 Kernel with DS-5 Community Edition

Debugging ARM64 Kernel with DS-5 Community Edition

In Chapter 3 of “Running Beginner’s Guide,” Ben Shu introduced the method of step-by-step debugging the kernel using Eclipse + QEMU. With the kernel compiled using Ben Shu’s unique O0 option, you can freely explore the kernel. Today, Ben Shu will introduce the IDE debugging tool developed by ARM: DS-5. DS-5 is a secondary development … Read more

Linux BSP Practical Course (Network): Packet Reception Process

Linux BSP Practical Course (Network): Packet Reception Process

Network Card to Memory Kernel’s Network Module Protocol Stack IP Layer UDP Layer Socket Conclusion This article will introduce how a UDP packet is received step by step from the network card to the process in a Linux system. Network Card to Memory The network interface card must have the appropriate driver installed to function … Read more