Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Was bedeutet Linux-Kernel-Portierung?
Unter Linux bezieht sich die Kernel-Transplantation auf die Übertragung von Programmcode von einer Hardware-Plattform auf eine andere Hardware-Plattform zur Ausführung; bei der Transplantation wird der Kernel neu kompiliert, um die entsprechende Hardware entsprechend der vom Benutzer ausgewählten Hardware-Plattform zu unterstützen, sodass er darauf ausgeführt werden kann Wenn auf dieser Hardwareplattform der entsprechende Hardwaretreiber oder ein anderes Kernelmodul fehlt, können Sie es selbst entwickeln und zum Kernel hinzufügen, um es zusammen zu kompilieren und schließlich Hardwareunterstützung zu erreichen.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Was ist eine Linux-Kernel-Transplantation?
Die sogenannte Transplantation besteht darin, den Programmcode von einer Betriebsumgebung in eine andere Betriebsumgebung zu übertragen. Bei der Kernel-Transplantation geht es hauptsächlich um den Wechsel von einer Hardwareplattform zur Ausführung auf einer anderen Hardwareplattform.
Bei der Kerneltransplantation wird der Kernel neu kompiliert, um die entsprechende Hardware entsprechend der Hardwareplattform Ihrer Wahl zu unterstützen, sodass er auf der Hardwareplattform ausgeführt werden kann. Wenn der entsprechende Hardwaretreiber oder andere Kernelmodule fehlen, können Sie ihn entwickeln und hinzufügen Kompilieren Sie sie selbst in den Kernel, um endlich Hardware-Unterstützung zu erreichen.
Der Ursprung des Kernels
linux ist ein Open-Source-Computer-Betriebssystemkernel. Es ist hauptsächlich in der Sprache C geschrieben, daher müssen viele Leute an der Entwicklung und Wartung beteiligt sein. Der Grund, warum sich Linux so schnell entwickelt hat, ist, dass es viele Leute verwendet und es viele Probleme gibt Wenn sie es als schwierig empfinden, werden sie entlassen. Die Hauptmodule (oder Komponenten) des Linux-Kernels sind in die folgenden Teile unterteilt: Speicherverwaltung, CPU- und Prozessverwaltung, Dateisystem, Geräteverwaltung und Treiber, Netzwerkkommunikation sowie Systeminitialisierung (Boot), Systemaufrufe usw .
Linux wurde zuerst vom Finnen Linus Torvalds entworfen. Zu dieser Zeit entwickelte Professor Andrew Tannebaum aufgrund der Kommerzialisierung von UNIX das Minix-Betriebssystem, sodass es nicht an die AT&T-Lizenzvereinbarung gebunden sein und ein Betriebssystem für Lehre und Forschung bereitstellen konnte. Es wurde im Internet veröffentlicht und war für Studenten auf der ganzen Welt frei verfügbar. Kommen wir ohne weitere Umschweife direkt zum Thema.
So führen Sie eine Kerneltransplantation durch
1. Version und Download
Was ist aus der Version geworden, seit Linux im Jahr 1991 gestartet und bis heute weiterentwickelt wurde? Ich glaube, jeder möchte es auch wissen, also wo kann man es ansehen und wo kann man es herunterladen? Der Herausgeber hat die Kernel-Download-URL für alle vorbereitet: https://www.kernel.org/ Sie können sie sehen, indem Sie darauf klicken. Die Benutzeroberfläche sieht wie folgt aus:
Jetzt ist die stabile Version bei Version 5.16.12 angelangt. Sie können die stabile Version herunterladen, es wird jedoch nicht empfohlen, die neueste Version herunterzuladen, da sie instabil ist und das Erlebnis definitiv nicht gut sein wird. Es gibt keinen großen Unterschied zwischen den Versionen. Möglicherweise fügt die neue Version nur einige neue Plattformen oder neue externe Treiber hinzu. 2. Kerneltransplantation
Erstellen Sie ein Shell-Skript und geben Sie den folgenden Kompilierungsbefehl ein:
给予脚本权限,直至脚本变绿,如下:
./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视频教程》
Das obige ist der detaillierte Inhalt vonWas bedeutet Linux-Kernel-Portierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!