首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

"make oldconfig"在Linux内核makefile中完全做了什么?

"make oldconfig"是Linux内核编译过程中的一个命令,它的作用是根据当前内核配置文件(.config)生成一个新的配置文件,用于更新内核的配置选项。

具体来说,"make oldconfig"命令会做以下几个主要的工作:

  1. 检查新版本内核源码中新增的配置选项,并将其添加到配置文件中。这样可以确保新版本内核的新功能和选项能够被正确地配置和编译。
  2. 检查旧版本内核源码中已经删除的配置选项,并将其从配置文件中移除。这样可以避免编译过程中出现无效的配置选项。
  3. 对于已经存在的配置选项,"make oldconfig"会根据当前配置文件中的设置,询问用户是否需要更新这些选项的值。用户可以选择保留当前值、使用新版本内核的默认值,或者手动修改为其他值。
  4. 在询问用户更新配置选项的过程中,"make oldconfig"会提供一些帮助信息,包括选项的含义、可能的取值范围等。这样可以帮助用户更好地理解和选择配置选项。

总的来说,"make oldconfig"命令的目的是在更新内核版本时,尽可能地保留用户之前的配置,并根据新版本的要求进行必要的更新。这样可以确保内核编译过程中的配置选项是符合用户需求和新版本要求的。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

探索Linux内核:Kconfig的秘密

深入了解Linux配置/构建系统是如何工作的。 自从Linux内核代码迁移到Git之后,Linux内核配置/构建系统(也称为Kconfig/kBuild)已经存在了很长时间。...最后,将配置数据库转储到.config文件。 但是.config文件不是内核构建的最终素材;这就是为什么syncconfig目标存在。...KBuild指的是不同类型的makefileMakefile位于源根的顶部makefile。 .config是内核配置文件。...看看如何在Linux内核实现递归make,并借助简化的Makefile代码: # In top Makefile vmlinux: scripts/link-vmlinux.sh $(vmlinux-deps...理解vmlinux与bzImage 许多Linux内核开发人员可能不清楚vmlinux和bzImage之间的关系。例如,以下是它们x86-64的关系: ?

1.8K11

CentOS6.5升级内核到3.10.28

(NEW)  ## configuration written to .config    make oldconfig会读取当前目录下的.config文件,.config文件里没有找到的选项则提示用户填写...,然后备份.config文件为.config.old,并生成新的.config文件,参考http://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-linux-kernel-makefile...make oldconfig'一次得到最终的编译配置选项。...编译Linux内核,需要根据规定的步骤进行,编译内核过程涉及到几个重要的文件。比如对于RedHat Linux/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls –l。...比如,使用的是scsi硬盘,而内核vmlinuz并没有这个scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储根文件系统的/lib/modules下。

2K20
  • debian10更新内核_debian升级内核

    /pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2 #tar -xjf linux-2.6.36.tar.bz2 切换到新内核的目录 #cd linux-2.6.36...为了节省时间,请执行以下命令从现有内核获得配置 #make oldconfig 执行完此条命令后,会根据新老内核的差异情况,询问你一些问题,如果不确定的话请都是用默认(直接按回车)。...以上步骤完成后,执行内核配置程序 #make menuconfig(这里会出现问题就是不知道menuconfig的操作。但是一般的就不用管。...,解决办法 编辑 Documentation/lguest/Makefile 把 all: lguest 改成 all: 输入 make-kpkg –initrd –append-to-version...,用命令: dpkg –get-selections |grep linux 如果你的内核是以kernel开头的就把上面的linux改成kernel,之后再用

    2.8K30

    嵌入式Linux系列第3篇:uboot编译下载

    uboot的主要作用是用来启动linux内核,因为CPU不能直接从块设备(如NAND/EMMC/SD卡)执行代码,需要把块设备的程序复制到内存,而复制之前还需要进行很多初始化工作,如时钟、串口等;...要想让CPU启动linux内核,只能通过另外的程序,进行必要的初始化工作,再把linux内核中代码复制到内存,并执行这块内存的代码,即可启动linux内核;一般情况下,我们把linux镜像储存在块设备如...SD卡、Nandflash等块设备,首先执行uboot代码,uboot把块设备内核代码复制到某内存地址处,然后再执行这个地址,即可启动内核。...我们要看下 Makefile,原因是 Makefile CROSS_COMPILE 设置的问题,需要修改下,改成我们装的交叉编译链, ? 再次编译,提示如下错误: ?...提示我们没有.config 文件,让我们输入make oldconfig 或者make menuconfig 或者make xconfig 我们先make menuconfig 试试,输入make

    2.6K60

    基于ubuntu22.04-深入浅出 eBPF

    笔者很早之前就看eBPF这类似的文章,那时候看这个技术一脸懵逼,不知道它是用来做什么,可以解决什么问题。所以也没有太关注这个技术。很庆幸最近刚好有机会研究这个技术。...最初,BPF是 BSD 内核实现的,后来,由于其出色的设计思想,其他操作系统也将其引入包括 Linux。」...eBPF提供了两种内核态与用户态传递数据的方式,内核态可以将自定义perf_event消息事件发往用户态,或用户态通过文件描述符读写存储在内核的k/v Map数据。...-r) .config # make oldconfig && make prepare # make headers_install # apt-get install libcap-dev #...运行两个终端,用来测试youyeetoo: 终端以运行youyeetoo可执行文件,终端2执行任意命令,终端1查看程序是否能够监测到,如果成功监测到新进程运行便会输出一条“bpf_trace_printk

    62420

    基于ubuntu22.04-深入浅出 eBPF

    笔者很早之前就看eBPF这类似的文章,那时候看这个技术一脸懵逼,不知道它是用来做什么,可以解决什么问题。所以也没有太关注这个技术。很庆幸最近刚好有机会研究这个技术。...最初,BPF是 BSD 内核实现的,后来,由于其出色的设计思想,其他操作系统也将其引入包括 Linux。...# cd linux-source-5.19.0编译内核源码的bpf模块,如果没有报错,说明已经完成环境搭建:# cp -v /boot/config-$(uname -r) .config# make...oldconfig && make prepare# make headers_install# apt-get install libcap-dev # make M=samples/bpf CC...运行两个终端,用来测试youyeetoo:图片在终端以运行youyeetoo可执行文件,终端2执行任意命令,终端1查看程序是否能够监测到,如果成功监测到新进程运行便会输出一条“bpf_trace_printk

    67140

    make menuconfig执行流程分析

    当在Linux内核内核版本为3.18.42)顶层目录执行”make ARCH=arm menuconfig”时,命令行对内核根目录下Makefile文件的ARCH这个变量赋值为arm ,并且指定了...这样的目标作为一个规则的依赖时,因为依赖总被认为被更新过,因此作为依赖所在的规则定义的命令总会被执行。FORCE所在规则为空,也是什么都不做。...目标menuconfig定义scripts/kconfig/Makefile,找到menuconfig目标后,然后执行以menuconfig为目标的规则: PHONY += oldconfig xconfig...当在Linux内核内核版本为3.18.42)顶层目录执行”make ARCH=arm menuconfig”时,命令行对内核根目录下Makefile文件的ARCH这个变量赋值为arm ,并且指定了...目标menuconfig定义scripts/kconfig/Makefile,找到menuconfig目标后,然后执行以menuconfig为目标的规则: PHONY += oldconfig xconfig

    3.6K10

    menuconfig过程详解

    makefile menuconfig过程讲解 当我们执行make menuconfig这个命令时,系统到底帮我们做了哪些工作呢?...它是由linux内核根目录下的makefile文件决定的,makefile下有此环境变量的定义: 或者通过 make ARCH=arm menuconfig命令来生成配置界面,默认生成的界面是所有参数都是没有值的...,最后保存退出的时候,Linux内核会把新的选项(正确的参考答案)更新到.config,此时我们可以把.config重命名为其它文件保存起来(当你执行make distclean时系统会把.config...来决定是编译此文件,此宏是Kconfig文件定义,当我们配置完成后,会出现在.config及autconf,至此,我们就完成了整个linux内核的编译过程。...最后我们会发现,整个linux内核配置过程,留给用户的接口其实只有各层Kconfig、makefile文件以及对应的源文件。

    74520

    make menuconfig makefile kconfig详解

    === 1、内核Makefile概述(linux 2.6) Linux内核Makefile分为5个部分: Makefile 最顶层Makefile...如果你的makefile的第一个目标是由许多个目标组成,你可以指示make,让其完成你所指定的目标。要达到这一目的很简单,需make命令后直接跟目标的名字就可以完成(如make clean)。...当在Linux内核内核版本为3.18.42)顶层目录执行”make ARCH=arm menuconfig”时,命令行对内核根目录下Makefile文件的ARCH这个变量赋值为arm ,并且指定了...这样的目标作为一个规则的依赖时,因为依赖总被认为被更新过,因此作为依赖所在的规则定义的命令总会被执行。FORCE所在规则为空,也是什么都不做。...目标menuconfig定义scripts/kconfig/Makefile,找到menuconfig目标后,然后执行以menuconfig为目标的规则: PHONY += oldconfig xconfig

    1.8K10

    【GUN和Linux到底是什么关系,gcc,make,cmake,yum是什么

    ---- 目录 一、一直以来的疑惑 二、 为什么有所谓‘make版本’不匹配问题 三、 首先知道gcc make cmake 的区别: yum是什么 Linux内核 和 GNU 系统简介 Linux内核...5.makefile什么?简单的说就像一首歌的乐谱,make工具就像指挥家,指挥家根据乐谱指挥整个乐团怎么样演奏,make工具就根据makefile的命令进行编译和链接的。...7.makefile一些简单的工程完全可以人工手下,但是当工程非常大的时候,手写makefile也是非常麻烦的,如果换了个平台makefile又要重新修改。...yum是什么Linux的yum是什么?如何配置?如何使用?...因此,开发各种系统发行版的人做了很多必不可少的工作。但是,就事物的性质而言,这是肯定会由某人完成的工作。 GNU工程支持GNU / Linux系统,以及GNU系统。

    1.9K40

    第3阶段——内核启动分析之make menuconfig内核配置(2)

    目标: 分析make menuconfig内核配置过程 在上1小结(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到尾配置.config文件 (2) 通过make...1 linux下通过vi指令查看.config内核配置文件 ?.../drivers/net/ 子目录Makefile添加DM9000文件到obj-$(CONFIG_DM9000),其中CONFIG_DM9000=y,所以编译进内核. drivers/net/Makefile...o drivers/net/Makefile:199:#obj-$(CONFIG_DM9000) += dm9ks.o 因为, 当make uImage编译内核刚开始时,内核会根据.config自动生成...模块文件 如果auto.confCONFIG_xxx=n,对应的源码文件不会被makefile编译; 接下来分析Makefile来找到内核编译过程,明白make uImage做了什么

    1.4K50

    第3阶段——内核启动分析之make menuconfig内核配置(2)

    目标: 分析make menuconfig内核配置过程 在上1小结(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到尾配置.config文件 (2) 通过make...1 linux下通过vi指令查看.config内核配置文件 ?.../drivers/net/ 子目录Makefile添加DM9000文件到obj-$(CONFIG_DM9000),其中CONFIG_DM9000=y,所以编译进内核. drivers/net/Makefile...o drivers/net/Makefile:199:#obj-$(CONFIG_DM9000) += dm9ks.o 因为, 当make uImage编译内核刚开始时,内核会根据.config自动生成...模块文件 如果auto.confCONFIG_xxx=n,对应的源码文件不会被makefile编译; 接下来分析Makefile来找到内核编译过程,明白make uImage做了什么

    1.1K90

    浅析busybox如何集成到openwrt

    背景 近日添加了一个包到openwrt,在此过程又对openwrt多了一些认识 这个包本身自带了kconfig,可直接在这个包里面执行make menuconfig进行配置,然后执行make 但要集成到...最终,Makefile,会将这些配置项转换为busybox本身的配置文件。...) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) oldconfig endef 从总的配置文件,滤出所有CONFIG_BUSYBOX_$(BUSYBOX_SYM)开头的配置项,...再执行一遍make oldconfig,以自动处理掉一些配置不合适的情况,修正最终的.config文件。 其中这个$(BUSYBOX_SYM)变量,也是Makefile赋值的。...busybox的makefile未选中CONFIG_BUSYBOX_CUSTOM的情况下,BUSYBOX_SYM的值为DEFAULT,则将CONFIG_BUSYBOX_DEFAULT_xxx过滤出来

    1.6K30

    Linux内核设计思想】二、内核编译及内核开发的特点

    获取内核源码 Linux内核官方网站即可下载最新Linux源码 http://www.kernel.org 我们一般应该下载最新的稳定版本Linux内核源码进行学习。...,Makefile是编译内核的基础。...通过如下命令验证并更新配置 make oldconfig 配置完成后,就可以编译内核了,使用命令 make 在编译时,往往会打印很多信息并刷屏,如果不想看到这些信息,可以执行下面命令来编译 make >...我们知道,Linux 内核是使用C语言编写的,但是,内核代码并不完全符合 ANSI C 标准,它用到了 gcc 提供的许多语言扩展部分。...② 内联汇编 gcc 编译器支持C函数嵌入汇编指令,Linux 内核就是用了C和汇编混合编程,偏近体系结构的底层或对执行时间要求严格的地方,一般都是使用汇编语言编写的。

    14510

    Ubuntu16.04 实时内核 RT Preempt 安装

    实时补丁仅适用于部分内核版本,请参阅: https://www.kernel.org/pub/linux/kernel/projects/rt/ image.png 我们建议选择最接近您当前使用的版本。.../patch-4.14.12-rt10.patch 下一步是配置内核make oldconfig 这将打开一个基于文本的配置菜单。...当要求提供抢占模型时,选择完全可抢占内核: Preemption Model 1. No Forced Preemption (Server) (PREEMPT_NONE) 2....之后,您就可以编译内核了。因为这是一个漫长的过程,所以将多线程选项-j设置为您的CPU内核数: fakeroot make -j4 deb-pkg 最后,您准备安装新创建的软件包。...5 允许用户为其进程设置实时权限 sudo addgroup realtime sudo usermod -a -G realtime $(whoami) 然后,将以下限制添加到的实时组/etc/security

    3.2K4226

    arm-linux 开发步骤

    比如硬件需要接LCD,就必须提供LCD接口。 bootloader bootloader是什么?...bootloader是一个引导程序,它最主要的功能是加载内核,所谓加载内核就是让内核代码常驻内存,并且得到执行。 bootloader因为什么而存在?...在内核配置make menuconfig(或xconfig等)时,从Kconfig读出菜单,用户选择后保存到.config的内核配置文档。...3、帮助性定义 只是增加帮助用关键字help或—help— 内核Makefile linux2.6.x/Documentation/kbuild目录下有周详的介绍有关kernel makefile...当您编译内核时,将会读取.config文档,当发现ap71 flash 选项为yes 时,系统调用/driver/mtd/maps/下的makefile 时,将会把 flashtest.o 加入到内核

    4K30
    领券