Maison  >  Article  >  Tutoriel système  >  Analyse approfondie de l'arborescence des sources du noyau : la synergie entre les fichiers Kconfig et les Makefiles

Analyse approfondie de l'arborescence des sources du noyau : la synergie entre les fichiers Kconfig et les Makefiles

王林
王林original
2024-06-28 08:18:521050parcourir

深入解析内核源码树:Kconfig 文件与 Makefile 的协同作用

Principe

Chaque répertoire de l'arborescence des sources du noyau contient également un fichier Kconfig, qui est utilisé pour décrire le menu de configuration du noyau lié au code source dans le répertoire. Les fichiers Kconfig de chaque répertoire constituent une base de données de configuration du noyau distribuée.

Lors de la configuration du noyau via la commande makemenuconfig, lisez le menu du fichier Kconfig Analyse du principe de la technologie de stockage : Basée sur le code source du noyau Linux 26 , la configuration est terminée et enregistrée dans le fichier de configuration du noyau nommé .config pour le Makefile à compiler utilisé dans le noyau.

Le Makefile au dernier étage de l'arborescence du code source est l'entrée de l'ensemble de la gestion du code source du noyau et joue un rôle décisif dans la compilation du code source de l'ensemble du noyau. Lors de la compilation du noyau sous Linux C, le Makefile de niveau supérieur parcourra de manière récursive les fichiers Makefile dans tous les sous-répertoires du code source du noyau selon les règles pour terminer la compilation des modules du noyau dans chaque sous-répertoire.

Configurer le noyau

Accédez au répertoire au dernier étage du code source du noyau Linux et entrez la commande makemenuconfig Baidu Netdisk LINUX Vous pouvez accéder à l'interface principale de la configuration du noyau Linux basée sur Ncurses. Si vous ne spécifiez pas ARCH dans le Makefile, vous il faut le préciser dans la ligne de commande :

make ARCH<span class="token operator">=</span>arm menuconfig

Annuaire de premier niveau

Presque tous les éléments du menu de premier niveau comportent des sous-menus complexes de niveau inférieur, et leurs options de configuration respectives sont également très riches. Ce serait une tâche très compliquée de les décrire un par un. Dans le développement réel d'un produit, il n'est pas nécessaire de comprendre entièrement chaque élément de configuration du noyau. Généralement, il vous suffit de comprendre certains des éléments associés.

内核编写_存储技术原理分析:基于linux 26内核源代码_内核存储原理源基于代码分析

在这里插入图片描述

Le répertoire secondaire Generalsetup est l'interface du menu des paramètres généraux du noyau

在这里插入图片描述

SystemVIPC représente la communication inter-processus du système InterProcess

Communication, qui est utilisée par le processeur pour synchroniser et échanger des informations entre les programmes

Enableeventpollsupport : prend en charge l'appel système du sondage de tempête.

Enableloadablemodulesupport est la configuration du module du noyau

Moduleunloading permet de décharger des modules déjà chargés

Le support des versions de modules permet l'utilisation de modules provenant d'autres versions du noyau (des problèmes peuvent survenir)

Sourcechecksumforallmodules calibre le code source de tous les modules. Si vous ne compilez pas vous-même le module du noyau, vous n'avez pas besoin de cette fonction.

内核编写_内核存储原理源基于代码分析_存储技术原理分析:基于linux 26内核源代码

Activer la prise en charge des périphériques de bloc Blocklayer

Ceux qui utilisent des périphériques de disque dur/USB/SCSI doivent sélectionner cette option pour permettre la suppression du périphérique bloc du noyau :

La prise en charge des périphériques et fichiers en bloc de grande taille (2 To +) n'est requise que lors de l'utilisation de périphériques en bloc inférieurs à 2 To

Le support Blocklayerbiothrottling peut être utilisé pour limiter le taux d'E/S de l'appareil

IOSchedulersIO E/S du planificateur est un contrôle de la bande passante d'entrée et de sortie, principalement pour les disques durs, et constitue une nécessité fondamentale. Trois planificateurs d'E/S sont fournis ici.

SystemType est le type et les caractéristiques du processeur

Support multi-traitement symétriqueSupport multi-traitement symétrique, sélectionnez-le si vous disposez de plusieurs processeurs ou si vous utilisez un processeur multicœur

Série de processeurs de la famille de processeurs (Pentium-Pro), veuillez choisir en fonction du processeur réellement utilisé, voici le type de processeur

Genericx86support Cette option utilise des optimisations plus générales pour les processeurs de la série x86. Si vous choisissez i386, i586, etc., alors choisissez ce support universel x86,

La prise en charge de Multi-corescheduler optimise la stratégie de planification pour les processeurs multicœurs. Prise en charge du mécanisme de planification multicœur, les processeurs à quatre cœurs doivent être sélectionnés

.

Busoptions est la prise en charge et la configuration des bus PCI, ISA et autres. KernelFeatures est le menu de configuration des fonctionnalités du noyau

.

内核存储原理源基于代码分析_存储技术原理分析:基于linux 26内核源代码_内核编写

在这里插入图片描述

Option de démarrage Bootoption, vous pouvez définir les paramètres de démarrage par défaut et les types de paramètres du noyau

CPUPowerManagementCPU lié à la gestion de l'alimentation

Y compris la réduction de la fréquence du processeur, la prise en charge du mode veille, etc.

Options de gestion de l'alimentation liées à la gestion de l'alimentation Prise en charge de la configuration réseau du réseau

Comprend des options de configuration de prise en charge pour les réseaux Ethernet, CAN, infrarouge, Bluetooth, sans fil et autres

Le sans fil utilise la prise en charge des cartes réseau sans fil

Le sous-système de commutation RF prend en charge le dispositif de commutation RF

Contrat réseau Networkoptionsoptions et configuration des paramètres des paquets réseau (les contrats liés à TCP/IP doivent être ouverts)

Options de réseau, vous pouvez accéder à l'interface de configuration des options réseau

在这里插入图片描述

Les systèmes utilisant Linux utiliseront le réseau, et l'utilisation du réseau est souvent indissociable de TCP/TP, il est donc recommandé de sélectionner l'option TCP/IP dans la configuration Analyse du principe de la technologie de stockage : basée sur le code source du noyau Linux 26 et Sélectionnez toutes les options de niveau inférieur. L'option à trois états peut également être configurée pour brancher le module en cas de besoin.

Pilote de périphérique DriverDrivers, l'interface de configuration est également très compliquée, il existe de nombreux éléments de configuration

在这里插入图片描述

Filesystems est l'interface de configuration du système de fichiers du noyau

内核存储原理源基于代码分析_内核编写_存储技术原理分析:基于linux 26内核源代码

在这里插入图片描述

Kernelhacking Options de sécurité liées au débogage du noyauOptions liées à la sécurité

CryptographicAPI—>//Crypto API, ces options seront ajustées manuellement en fonction de l'optimisation précédente

Principes de base pour l'adaptation et la configuration des noyaux

Référence :

Le processus spécifique et la sélection de l'élagage du noyau Linux

Discussion sur la configuration, l'adaptation et la compilation du noyau Linux embarqué

Configuration de la compilation du noyau Linux (forme graphique Menuconfig), étapes pour créer un système de fichiers

Transplantation du noyau Linux et production du système de fichiers racine

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn