Maison >Tutoriel système >Linux >Analyse approfondie de l'arborescence des sources du noyau : la synergie entre les fichiers Kconfig et les Makefiles
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.
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.
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
.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
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!