build kernel时make oldconfig的作用

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。

在本人的ubuntu环境下实验通过,make oldconfig和make menuconfig都能将原来的.config文件保存为.config.old文件。



编译 Ubuntu 20.04 内核的步骤如下: 1. 获取内核源代码 可以从 Ubuntu 的官方网站上下载内核源代码,或使用 Git 从内核源代码仓库中下载。在终端中输入以下命令: ``` sudo apt-get update sudo apt-get install git git clone git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git ``` 2. 安装编译工具 编译 Ubuntu 内核需要安装一些编译工具和依赖项。在终端中输入以下命令: ``` sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev ``` 3. 配置内核 进入 Ubuntu 内核源代码目录并运行以下命令: ``` cd ubuntu-focal cp /boot/config-$(uname -r) .config sudo make oldconfig ``` 在运行 `sudo make oldconfig` 命令,系统会提示你是否需要更改一些内核配置。如果你不确定,请保持默认设置。 4. 编译内核 在终端中输入以下命令开始编译内核: ``` sudo make -j $(nproc) ``` 这将使用系统上可用的所有处理器核心进行编译。编译过程可能需要一些间,具体间取决于你的硬件配置和内核大小。 5. 安装内核 编译完成后,可以安装内核。在终端中输入以下命令: ``` sudo make modules_install sudo make install ``` 这将安装编译后的内核和模块。然后你需要更新 GRUB 配置以便引导新内核。在终端中输入以下命令: ``` sudo update-grub ``` 6. 重启系统 内核安装完成后,重启系统以使新内核生效。 ``` sudo reboot ``` 注意:编译和安装内核可能会导致系统出现问题,因此在执行此操作之前,最好进行全面备份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值