Build kernel时make oldconfig、menuconfig的作用

1. 在《Linux内核设计与实现3》(Linux Kernel Development 3)中写道:

在你修改过配置文件之后,或者在用已有的配置文件配置新的代码树的时候,应该用命令make oldconfig验证和更新配置;这里,对make oldconfig的作用没有作明确的说明;

2. 在linux-2.6.xx目录的README文件中,说明make oldconfig的作用:所有问题都基于已有的.config文件,只对新特性和新设定提出询问;

3. 在《构建嵌入式Linux系统》(Building Embedded Linux Systems)中,详细解释了make oldconfig的作用:

make oldconfig:

通过命令界面配置内核,但是会自动载入既有的.config配置文件,并且只有在遇到先前没有设定过的选项时,才会要求你手动设定。然而,make config却会要求你手动设定所有的选项,即使你之前曾设定过。开发者通常会通过此方法将他们的配置更新为官方配置选项所做的变更,以避免重新设定整个 内核的配置。

make menuconfig:

显示以curses为基础的终端机形式的配置菜单。如果.config文件存在,它会根据该文件来设定缺省值,如同make config.

个人认为,make menuconfig 就是make oldconfig的图形版本。在将新的设定更新到.config中去的同时,将原来的.config文件保存为.config.old。

时间: 2024-09-19 19:13:10

Build kernel时make oldconfig、menuconfig的作用的相关文章

电容与EMC-电容不同功能时对整板EMC的作用

一般我们的pcb板的器件有很多种类,但是值得特别关注的,很多人都会说是BGA.接口.IC.晶振之类,因为这些都是layout功能模块以及设计难点.然而数量上占绝对优势的器件却是阻容器件,之前围殴阻抗时,对于电阻已经说了很多了,这次我们从EMC的角度来说说电容.有人肯定要问了:电容的主要作用是旁路.退耦和储能,和EMC有什么关系呢?下面就一一讨论电容不同功能时对整板EMC的作用. 首先来说说旁路电容.我们在原理图中看到很多类似于下面左边的图例,此时电容起什么作用,对于整板的EMC有什么好处呢?众所

android启动到kernel时log信息如下,出现重启现象

android启动到kernel时log信息如下,出现重启现象,请大神指导,谢谢 20160329_09:31:43[    2.164381]-(0)[0:swapper/0][HRTimer] 20160329_09:31:43[    2.164381] Occurs 0 times in last ISR duration 20160329_09:31:43[    2.164381] last fn:tick_sched_timer+0x0/0x80, dur:34461 ns (s:

配置Linux Kernel时make menuconfig执行流程分析

   在编译内核前,一般是根据已有的配置文件(一般在内核根目录下的arch/arm/configs/文件夹下,把该目录下的xxx_defconfig文件拷贝到内核根目录下,并重命名为.config)来进行编译; 或者需要先配置裁剪内核. 假设我们要基于一块ARM芯片的开发板配置裁剪内核时,在内核的根目录下运行:make ARCH=arm menuconfig命令后,会弹出如下配置界面: 当我们在内核的根目录下运行make ARM=arm menuconfig这条命令时,内核根目录下的Makefi

vue双向绑定时添加.sync不起作用的原因

<my-component v-bind:my-name.sync="name" v-bind:my-age.sync="age"></my-component> 以上代码是子组件向父组件传数据的代码,加了.sync,但是不起作用,原因是vue的版本不同,2.0版本以上不起作用,而以下版本才起作用. 所以,在参考网上例子时,vue版本也应该考虑进去.

asp.net mvc4 设置build项目时,编译view页面

新建好项目后,把system.web.mvc.dll移除,重新选择本地C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies下的system.web.mvc.dll,编译出现问题提示:“The type or namespace name 'Html' does not exist in the namespace 'System.Web.Mvc'” 切换回来对应新建时应用目录下的system.web.mvc.dll依然

myeclipse中增加user libraries时出现“ One or more selected libraries are already on the build path”时的解决办法

myeclipse中增加user libraries时出现了" One or more selected libraries are already on the build path": 很奇怪,明明已经将相应jar包导入,系统却报了这个错.后来发现将jar放入lib文件夹后还要在myeclipse中lib文件夹右键刷新一下,否则系统识别不到.

mysql通过mysql_install_db初始化数据目录时使用--user选项的作用是什么?

需求描述: mysql数据库通过mysql_install_db初始化数据目录时,使用了--user选项,这里记录下该参数的作用 参数解释: 1.--user的作用:就是以哪个操作系统用户来执行mysqld进程(使用哪个用户来运行mysql server) 2.比如,指定了--user=mysql之后,那么通过mysqld创建的文件或者目录都是被mysql用户拥有的(mysql创建的文件,目录的用户权限是mysql),即相当于是mysql用户创建的文件. 3.在初始化数据目录时,如果在root下

转载:Eclipse build Android时不生成apk问题解决方法

Eclisps有时build后不生成apk.没有对Eclise做过设置调整,android工程代码也是没有问题的.反正就是莫名奇妙的遇到两次,解决方法如下: 1. 设置:Preferences -> Android -> Build中有一项“Skip packaging and dexing until export or launch....”,去除勾选状态 2. 删除debug.keystore,该文件位置: Preferences -> Android -> Build 下有

Jupyter Notebook: 解决build docker-stacks时conda太慢的问题

当想使用docker安装Jupyter Notebook时,有一个很好的项目是docker-stacks(https://github.com/jupyter/docker-stacks/tree/master/scipy-notebook),但遗憾的是在安装scipy-notebook等项目时,老是遇到conda超时的问题. 要解决这个问题,可以在Dockfile里,conda install命令的前面,加上如下命令: RUN conda config --add channels https