Maison  >  Article  >  Opération et maintenance  >  Connaissances en configuration du noyau qu'un ingénieur de pilotes Linux doit connaître

Connaissances en configuration du noyau qu'un ingénieur de pilotes Linux doit connaître

嵌入式Linux充电站
嵌入式Linux充电站avant
2023-07-31 15:51:411495parcourir

Composition du système de configuration du noyau Linux

Il existe de nombreux codes sources du noyau Linux, avec des milliers d'options de configuration, et la configuration est assez compliquée.

Afin de mieux choisir la configuration fonctionnelle que vous souhaitez, le code source du noyau Linux organise un système de configuration

Le système de configuration comprend trois parties :

  • Makefile : Responsable de la configuration globale et de la compilation
  • Makefile:负责整体的配置编译
  • Kconfig:配置选项的来源
  • 配置菜单
  • 这个配置系统就是执行make menuconfig显示的图形化界面:

    Connaissances en configuration du noyau qu'un ingénieur de pilotes Linux doit connaître

    内核Kconfig文件

    Kconfig层级关系

    内核配置选项的源文件是 Kconfig文件;

    主选项的配置源文件是:arch/$(ARCH)/KconfigKconfig : Source des options de configuration

    🎜Menu de configuration🎜Ce système de configuration consiste à exécuter make menuconfigL'interface graphique affichée : 🎜
    Connaissances en configuration du noyau qu'un ingénieur de pilotes Linux doit connaître
    🎜🎜🎜🎜Fichier Kconfig du noyau🎜🎜 🎜🎜

    🎜🎜Hiérarchie Kconfig🎜🎜

    🎜Le fichier source des options de configuration du noyau est Fichier Kconfig; 🎜🎜Le fichier source de configuration de l'option principale est : arch/$(ARCH)/Kconfig fichier 🎜; 🎜

    Kconfig文件调用其他目录的Kconfig文件又调用各级子目录的Kconfig文件,形成树状的配置选项;Kconfig文件调用其他目录的Kconfig文件,其他目录的Kconfig文件又调用各级子目录的Kconfig文件,形成树状的配置选项;

    Kconfig语法介绍

    例如: drivers/net/usb/Kconfig中,DM9601菜单:

    Connaissances en configuration du noyau qu'un ingénieur de pilotes Linux doit connaître

    config USB_NET_DM9601菜单项;菜单项下面的是菜单的属性

    菜单都是以config

    Kconfig语法介绍

    例如: drivers/net/usb/Kconfig中,DM9601菜单:🎜
    Connaissances en configuration du noyau qu'un ingénieur de pilotes Linux doit connaître
    🎜config USB_NET_DM9601菜单项;菜单项下面的是菜单的属性;🎜 🎜菜单都是以config 开头,中间有空格,后面大写的就是菜单项。🎜
    • tristate  : indique des informations d'invite, Chaîne affichée dans le Menu de configuration
    • tristate :表示提示信息,在配置菜单中显示的字符串
    • depends :表示依赖于的选项(依赖的选项选上,才能选这个选项)
    • select :表示本菜单选上后,自动选上的菜单
    • Help :帮助文字;

    Kconfig的语法详细参考:Documentation/kbuild/kconfig-languages.txt

    .config文件

    内核配置完毕之后,会在内核源码的顶层目录下生成.config文件

    打开.config文件,我们可以看到内容如下:

    Connaissances en configuration du noyau qu'un ingénieur de pilotes Linux doit connaître

    这里在配置中选上了”Davicom DM96xx based USB 10/100 ethernet device”选项,在.config文件中会生成“CONFIG_USB_NET_DM9601=y

    depends : Indique les options qui dépendent de (cette option ne peut être sélectionnée que lorsque l'option dépendante est sélectionnée) 🎜🎜select : Indique la sélection de ce menu Après le chargement, le menu sélectionné automatiquement🎜🎜Aide  : Texte d'aide ;

    Référence détaillée de la syntaxe Kconfig : Documentation/kbuild/kconfig-linguals.txt🎜

    Une fois la configuration du noyau terminée, il sera Généré dans le répertoire de niveau supérieur du code source du noyau .configFichier ; 🎜

    Ouvrir