操作系统实验一 编译linux内核

本文详细记录了在Ubuntu 20.04.3 LTS环境中编译Linux 5.10.78内核时遇到的各种错误,包括空间不足、依赖包缺失、屏幕大小问题等,并提供了相应的解决方案,如调整虚拟机磁盘空间、安装所需依赖、修改配置文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前置吐槽

不愧是前几年的包,可以拿来考古了。在使用ubuntu14.10和linux-3.19.1的环境下最终安包的时候死掉了,三天沉浸式暴毙安装
sudo apt-get install libncurses5-dev build-essential kernel-package
在这里插入图片描述
死因: 因为linux内核版本太久 找不到对应的包 就在这里弃疗

E: Unable to locate package lib32ncurses5
E: Unable to locate package kernel
E: Unable to locate package libncurses5-dev

实验环境

版本问题就使用比较新但是稳定的,最新的必不稳定,不信你看win11。VMware Workstation 16.2.1 Pro + Ubuntu Desktop 20.04.3 LTS + linux-5.10.78

问题合集与解决方案

Error 1. No space left on device
 给虚拟磁盘足够的内存,不同版本linux核心所占大小不同,这里核心几乎占了30G,笔者给磁盘分配了70G,在一开始就分配好磁盘空间将会节省工作量。

命令 part 1
wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.78.tar.xz
sudo cp ./linux-5.10.78.tar.xz /usr/src
cd /usr/src
sudo tar xvJf ./linux-5.10.78.tar.xz
cd ./linux-5.10.78

在这里插入图片描述

命令 part 2
sudo apt-get install libncurses5-dev build-essential ker
### 如何在 Fedora 上编译 Linux 内核 #### 安装必要软件包 为了成功编译内核,在开始之前需确保已安装所有必需的开发工具和依赖项。这可以通过运行以下命令实现: ```bash sudo dnf groupinstall "Development Tools" sudo dnf install ncurses-devel bison flex elfutils-libelf-devel openssl-devel bc dwarves ``` 上述命令会安装系列用于构建新内核所需的库和支持文件[^1]。 #### 下载内核源码 获取最新的稳定版内核源代码可以从官方GNU/Linux Kernel Archive网站下载,也可以通过Git克隆仓库获得最新版本。对于特定于Fedora调整过的内核,则可以直接利用dnf来安装: ```bash sudo dnf install kernel-headers kernel-devel ``` 此操作将会把当前使用的内核对应的头文件和发展环境部署到本地环境中。 #### 配置内核选项 进入解压后的内核源树根目录并加载现有配置作为基础: ```bash cd /usr/src/kernels/<version> make oldconfig ``` `oldconfig` 命令会基于现有的`.config` 文件询问任何新的或更改过的参数设置。如果希望交互式地修改更多细节,可以考虑使用 `menuconfig`, `xconfig` 或者其他图形界面工具来进行更详细的定制化工作。 #### 执行编译过程 旦完成了所有的预处理步骤之后就可以正式开始了! ```bash time make -j$(nproc) ``` 这里 `-j$(nproc)` 参数告诉Make同时开启多个线程加速整个编译流程,具体数量取决于CPU核心数。加上`time`前缀可以帮助记录花费的时间长度以便后续优化参考。 #### 安装模块与更新引导程序 编译完成后还需要将生成的新内核及其关联组件放置到位,并相应地更新GRUB菜单以供下次重启时选择启动: ```bash sudo make modules_install install sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg ``` 最后步是为了让BIOS能够识别新增加的操作系统条目而重新生成GRUB配置文件。注意路径可能因个人系统的不同有所变化,请根据实际情况适当调整。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值