In Linux, kernel transplantation refers to transferring program code from one hardware platform to another hardware platform to run; transplantation is to recompile the kernel to support the corresponding hardware based on the hardware platform selected by the user. So that it can run on the hardware platform. If the corresponding hardware driver or other kernel module is missing, you can develop it yourself and add it to the kernel to compile it together to finally achieve support for the hardware.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
What is Linux kernel transplantation
The so-called transplantation is to transfer the program code from one operating environment to another operating environment. For kernel transplantation, it mainly involves moving from one hardware platform to running on another hardware platform.
Kernel transplantation is to recompile the kernel to support the corresponding hardware according to the hardware platform of your choice so that it can run on the hardware platform. If the corresponding hardware driver or other kernel module is missing, you can do it yourself Corresponding development is added to the kernel and compiled together to finally achieve hardware support.
The origin of the kernel
Linux is an open source computer operating system kernel. It is mainly written in C language. Since it is open source, there must be many people involved in development and maintenance. The reason why Linux has developed so fast is because it is open source. There are many people using it and many problems are found. If they find it difficult to use, they will be dismissed. Someone optimized it. The main modules (or components) of the Linux kernel are divided into the following parts: storage management, CPU and process management, file system, device management and driver, network communication, as well as system initialization (boot), system calls, etc.
Linux was first designed by Finnish Linus Torvalds. At that time, due to the commercialization of UNIX, Professor Andrew Tannebaum developed the Minix operating system so that it could not be bound by the AT&T license agreement and provide an operating system for teaching and research. It was released on the Internet and was freely available to students all over the world. Without further ado, let’s get straight to the topic.
How to carry out kernel transplantation
1. Version and download
Linux has developed from 1991 to the present, version What has become? I believe everyone also wants to know, so where to watch and where to download? The editor has prepared the kernel download URL for everyone: https://www.kernel.org/. You can see it by clicking on it directly. The interface is as follows :
##Now the stable version has reached version 5.16.12. You can download the stable version, but it is not recommended to download the latest one. , because it is unstable and the experience it brings is definitely not good. There is not much difference between versions. Maybe the new version just adds some new platforms or new external drivers. 2. Kernel transplantationInstall the lzop library before compiling the source code, otherwise the compilation will fail:sudo apt-get install lzop
tar jxvf linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
给予脚本权限,直至脚本变绿,如下:
./mx6ull_nand.sh编译程序,出现图形界面可以先不去配置,直接exit退出,继续等待编译完成(内核编译需要的时间较长,建议大家准备好瓜子)。编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 zImage 的文件,zImage 就是我们要用的 Linux 镜像文件。另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是设备树文件。后面做驱动开发的时候会经常跟这些.dts文件打交道的,编译之后的文件如下:
3、内核的使用
先设置交叉编译工具变量,进入顶层Makefile中设置如下:
使用如下命令编译Linux:
make xxx_defconfig //使用默认配置文件配置 Linux make menuconfig //启动图形化配置界面 make -j2 //编译 Linux
至此,Linux内核部分就给大家分享到这里了,动手操作起来吧。
相关推荐:《Linux视频教程》
The above is the detailed content of What does linux kernel porting mean?. For more information, please follow other related articles on the PHP Chinese website!