Maison Tutoriel système Linux 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

Jun 28, 2024 am 08:18 AM

深入解析内核源码树: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
Copier après la connexion

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1653
14
Tutoriel PHP
1251
29
Tutoriel C#
1224
24
À quoi sert le mieux le Linux? À quoi sert le mieux le Linux? Apr 03, 2025 am 12:11 AM

Linux est mieux utilisé comme gestion de serveurs, systèmes intégrés et environnements de bureau. 1) Dans la gestion des serveurs, Linux est utilisé pour héberger des sites Web, des bases de données et des applications, assurant la stabilité et la fiabilité. 2) Dans les systèmes intégrés, Linux est largement utilisé dans les systèmes électroniques intelligents et automobiles en raison de sa flexibilité et de sa stabilité. 3) Dans l'environnement de bureau, Linux fournit des applications riches et des performances efficaces.

Quels sont les 5 composants de base de Linux? Quels sont les 5 composants de base de Linux? Apr 06, 2025 am 12:05 AM

Les cinq composants de base de Linux sont: 1. Le noyau, gérant les ressources matérielles; 2. La bibliothèque système, fournissant des fonctions et des services; 3. Shell, l'interface pour les utilisateurs pour interagir avec le système; 4. Le système de fichiers, stockant et organisant des données; 5. Applications, en utilisant des ressources système pour implémenter les fonctions.

Quelle est la plus utilisée de Linux? Quelle est la plus utilisée de Linux? Apr 09, 2025 am 12:02 AM

Linux est largement utilisé dans les serveurs, les systèmes intégrés et les environnements de bureau. 1) Dans le domaine du serveur, Linux est devenu un choix idéal pour héberger des sites Web, des bases de données et des applications en raison de sa stabilité et de sa sécurité. 2) Dans les systèmes intégrés, Linux est populaire pour sa personnalisation et son efficacité élevées. 3) Dans l'environnement de bureau, Linux fournit une variété d'environnements de bureau pour répondre aux besoins des différents utilisateurs.

Comment apprendre les bases de Linux? Comment apprendre les bases de Linux? Apr 10, 2025 am 09:32 AM

Les méthodes d'apprentissage Linux de base à partir de zéro incluent: 1. Comprendre le système de fichiers et l'interface de ligne de commande, 2. Master Basic Commandes telles que LS, CD, MKDIR, 3. Apprenez les opérations de fichiers, telles que la création et l'édition de fichiers, 4. Explorer une utilisation avancée telle que les pipelines et les commandes GREP, 5. Master Debugging Skills and Performance Optimimisation, 6. Amélioration continue des compétences par la pratique et l'exploration.

Qu'est-ce qu'un appareil Linux? Qu'est-ce qu'un appareil Linux? Apr 05, 2025 am 12:04 AM

Les périphériques Linux sont des périphériques matériels exécutant des systèmes d'exploitation Linux, y compris des serveurs, des ordinateurs personnels, des smartphones et des systèmes embarqués. Ils profitent de la puissance de Linux pour effectuer diverses tâches telles que l'hébergement de sites Web et l'analyse des mégadonnées.

Internet fonctionne-t-il sur Linux? Internet fonctionne-t-il sur Linux? Apr 14, 2025 am 12:03 AM

Internet ne s'appuie pas sur un seul système d'exploitation, mais Linux joue un rôle important. Linux est largement utilisé dans les serveurs et les appareils réseau et est populaire pour sa stabilité, sa sécurité et son évolutivité.

Quels sont les inconvénients de Linux? Quels sont les inconvénients de Linux? Apr 08, 2025 am 12:01 AM

Les inconvénients de Linux incluent l'expérience utilisateur, la compatibilité des logiciels, la prise en charge matérielle et la courbe d'apprentissage. 1. L'expérience utilisateur n'est pas aussi conviviale que Windows ou MacOS, et elle s'appuie sur l'interface de ligne de commande. 2. La compatibilité logicielle n'est pas aussi bonne que les autres systèmes et manque de versions natives de nombreux logiciels commerciaux. 3. La prise en charge matérielle n'est pas aussi complète que Windows, et les pilotes peuvent être compilés manuellement. 4. La courbe d'apprentissage est raide et la maîtrise des opérations de ligne de commande nécessite du temps et de la patience.

Quelles sont les opérations Linux? Quelles sont les opérations Linux? Apr 13, 2025 am 12:20 AM

Le cœur du système d'exploitation Linux est son interface de ligne de commande, qui peut effectuer diverses opérations via la ligne de commande. 1. Les opérations de fichiers et de répertoires utilisent des commandes LS, CD, MKDIR, RM et d'autres commandes pour gérer les fichiers et les répertoires. 2. La gestion des utilisateurs et des autorisations garantit la sécurité du système et l'allocation des ressources via UserAdd, Passwd, ChMOD et d'autres commandes. 3. La gestion des processus utilise PS, Kill et d'autres commandes pour surveiller et contrôler les processus du système. 4. Les opérations réseau incluent Ping, Ifconfig, SSH et d'autres commandes pour configurer et gérer les connexions réseau. 5. Commandes d'utilisation de surveillance et de maintenance du système telles que TOP, DF, DU pour comprendre l'état de fonctionnement du système et l'utilisation des ressources.

See all articles