linux menuconfig搜索,linux–menuconfig

linux menuconfig搜索,linux–menuconfig|–linux内核中Makefile,Kconfig,.config的关系(1)三者的作用简单来说就是去饭店点菜:Kconfig是菜单,Makefile是做法,.config就是你点的菜Makefile:一个文本形式的文件,编译源文件的方法。Kconfig:一个文本形式的文件,内核的配置菜单。.config:编译所依据的配置。(2)三者的语法|–Makefile目标定义:目标定义就是用来定义哪…

大家好,又见面了,我是你们的朋友全栈君。

|–linux内核中Makefile,Kconfig,.config的关系

(1)三者的作用

简单来说就是去饭店点菜:Kconfig是菜单,Makefile是做法,.config就是你点的菜

Makefile:一个文本形式的文件,编译源文件的方法。

Kconfig:一个文本形式的文件,内核的配置菜单。

.config:编译所依据的配置。

(2)三者的语法

|–Makefile

目标定义:目标定义就是用来定义哪些内容要做为模块编译,哪些要编译链接进内核。

直接编译:

obj-y  += hello.o

表示要由hello.c或者hello.s文件编译得到hello.o并链接进内核

而更常见的做法是根据.config文件的CONFIG_ 变量来决定文件的编译方式 :

条件编译:

obj-$(CONFIG_HELLO) += hello.o

obj-m则表示该文件要作为模块编译。

除了y,m以外的obj-x形式的目标都不会被编译。

|– Kconfig

类型定义:

每个config菜单项都要有类型定义: bool布尔类型、 tristate三态(内建、模块、移除)、

string字符串、 hex十六进制、integer整型。

eg:

config HELLO_MODULE

bool “hello test module”

bool 类型的只能选中或不选中,显示为[ ];

tristate类型的菜单项多了编译成内核模块的选项,显示为< > ,

假如选择编译成内核模块,则会在.config中生成一个 CONFIG_HELLO_MODULE=m的配置,

假如选择内建,就是直接编译成内核影响,就会在.config中生成一个CONFIG_HELLO_MODULE=y的配置.

hex十六进制类型显示为( )。

目录层次迭代

在Kconfig中有类似语句:source”drivers/usb/Kconfig”

用来包含(或嵌套)新的Kconfig文件,这样便可以使各个目录管理各自的配置内容,

使不必把那些配置都写在同一个文件里,方便修改和管理。

配置选项之间的依赖关系:

depend on:某选项依赖于另外一个选项生成

select   :反向依赖关系,该选项选中时,同时选中select后面定义的那一项

requie

默认值: default(默认y/n/m等值)

输入提示:prompt

帮助信息:help

|–.config

内核编译参考文件

修改方式:

(1)  make menuconfig

(2)  make xxx_defconfig

(3)  直接修改

!注意如果直接修改,不一定会生效,因为一些配置可能存在依赖关系,

make的时候会根据依赖关系进行规则的检查,不推荐直接在.config进行修改。

|–总结

输入命令make menuconfig修改相关配置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137726.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月1日 下午2:46
下一篇 2022年6月1日 下午2:46


相关推荐

  • ubuntu桌面主题更换_ubuntu18主题美化

    ubuntu桌面主题更换_ubuntu18主题美化本文针对的是ubuntu的GNOME桌面环境,根据ubuntu官方消息,ubuntu已经放弃原来的Unity桌面环境,改回最先使用的GNOME桌面环境,如果你觉得Gnome的默认桌面环境不够Fashion的话,可以下载自己喜欢的主题风格来更换,具体教程如下。在开始前,先放上几张我自己的ubuntu界面0.确认你的桌面环境首先确认你的桌面环境是GNOME,确认方法可以选择…

    2026年3月3日
    3
  • linux 修改mysql端口「建议收藏」

    linux 修改mysql端口「建议收藏」1)先关闭MySQL的进程2)更改端口vim/etc/my.cnf添加:port=33083)重启MySQL服务:servicemysqldrestart4)查看MySQL的端口号3.1.登录mysqlmysql-uroot-p3.2.查看当前端口号showglobalvariableslike‘port’;…

    2022年10月3日
    3
  • pycharm如何导入_pycharm下载模块

    pycharm如何导入_pycharm下载模块模块导入:1.如果你要导入的模块或者文件夹下的模块与你要执行程序的模块在同一个目录下文件:importsecond_module文件夹:fromsecond_fileimportsecond_file_moudle2.如果你要导入的文件或者文件夹下的模块,可以用sys来临时导入模块路径:导入路径:importsyssys.path.append(模块的绝对路径)例如:sys.path.append(r’User/jing

    2022年8月29日
    9
  • Java逻辑运算符异或

    Java逻辑运算符异或a b 叫逻辑异或 当 a 和 b 不同时 则结果为 tue 否则为 falsepublicc publicstatic String args System out println 60 gt 20 trueSystem out println 60 gt 20 false

    2025年8月29日
    5
  • JAVA HD japan_E3X-HD光纤放大器_欧姆龙继电器_欧姆龙PLC_欧姆龙接近开关「建议收藏」

    JAVA HD japan_E3X-HD光纤放大器_欧姆龙继电器_欧姆龙PLC_欧姆龙接近开关「建议收藏」欧姆龙E3X-HD光纤放大器特点免维护免维护,长期稳定检测【智能功率控制】针对LED常年老化造成的投光量降低及脏污等导致的受光量降低现象,通过智能功率控制功能,自动感知并保持最佳检测状态。环境适应性强,免维护。想要检测各种颜色,大小的工件在所有检测场合中游刃有余搭载发光元件GIGARAYⅡE3X-HD特点6同级最高水准的GIGARAYII的压倒性大功率,黑橡胶等低反射率检测及大型被检测…

    2022年7月7日
    33
  • SSM-Mybatis(2)

    SSM-Mybatis(2)日志如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手曾经:sout,debug现在:日志工厂掌握STDOUT_LOGGINGLOG4Jlog4j什么是Log4j?我们可以控制日志信息输送的目的地是控制台我们也可以控制每一条日志的输出格式通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。分页减少数据量selsect * from user limit startIndex,pageS

    2022年8月9日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号