[ linux ]内核编译过程及教程

linux编译内核

操作系统老师布置的作业,已经完成半个多月了来补写博客,可能会有疏漏,欢迎评论指出问题,谢谢

编译环境
  • 虚拟机: VMware workstation pro 16
  • 虚拟机操作系统: ubuntu-22.04.1-desktop-amd64
  • 原系统内核版本:5.19.0
建议

给自己的虚拟机设置至少65G硬盘,最好内存4G
在这里插入图片描述

查看自己的系统版本

命令:

uname -r  
下载kernel

在自己的ubuntu系统中下载kernel
网址如下:

https://mirrors.tuna.tsinghua.edu.cn/  
https://www.kernel.org/    

官网下载速度略慢,建议镜像网站
再镜像网站搜索kernel,选择要下载的版本,推荐比自己内核版本高一个等级的版本,比如自己的是5.x那就下载6.x的kernel
推荐下载.tar.xz格式

在这里插入图片描述
在这里插入图片描述

磁盘分区
  1. 点击win键,找到disk并打开
    在这里插入图片描述
  2. 找到文件根目录系统所在的分区,把多划分出来的内存分过去
    在这里插入图片描述
    在这里插入图片描述
编译前的准备
  • 首先切换成root用户
  • 然后把下载好的linux转移到/usr/src/
   sudo -i
   sudo cp linux-6.2.6.tar.xz /usr/src/  
  • 切换到linux包所在目录下
 cd /usr/src/
  • 解压内核源码,这里使用的是 linux-6.2.6.tar.xz ,.xz为双重压缩,因此先使用 xz命令解压
sudo xz -d linux-5.11.1.tar.xz
  • 然后tar命令解压
 sudo tar -xf linux-5.11.1.tar
  • 切换到 linux-6.2.6 目录下
cd linux-6.2.6
修改配置

此处参考博文【linux系列】内核编译最新教程+常见问题总结

// 不建议使用
sudo make config

// 建议使用(图形界面,键盘操作)
sudo make menuconfig

// 强烈建议使用(图形界面,鼠标操作)
sudo make gconfig

一系列需要安装的:

  • make
sudo apt install make
  • gcc
sudo apt install gcc
  • gtk+-2.0 、gmodule-2.0 和 libglade-2.0
sudo apt install libgtk2.0-dev libglib2.0-dev libglade2-dev
  • flex
sudo apt install flex
  • bison
sudo apt install bison
  • 启动gconfig
sudo make gconfig

在这里插入图片描述
如果需要修改配置可以在 gconfig中图形化进行设置
配置好后点击 Save 即可保存配置,生成 .config 文件
(博主什么也没改直接save了)

编译内核

  • ssl
sudo apt install libssl-dev
  • elf
sudo apt install libelf-dev
  • 开始编译(j4意为多线程运行)
sudo make -j4
  • 这个阶段耗时比较久,我和舍友用时四十分钟到三小时不等,看自己电脑性能如何了
  • 这阶段的问题
make:*** [Makefile:2021: .] 错误 2  

在这里插入图片描述

  • 解决方法 :
gedit .config 

把图中的几处改成图里的样子,建议对照下图看看哪里还有不同的,博客是编译完内核后半个月写的了,具体哪几个要改可能有些记不清了 在这里插入图片描述

  • tips:根据室友的反馈,编译过程中最好别用电脑做别的,她当时在用wps然后Ubuntu就报错了
安装内核
  • 安装模块
sudo make modules_install
  • 安装内核
sudo make install
万里长征最后一步

设置开机进入 grub 引导界面
首先关掉密码登录
在这里插入图片描述
在这里插入图片描述
接下来可以参考博客:Ubuntu Linux系统 设置开机进入 grub 引导界面的方法

  • 重启Ubuntu
reboot
  • 设置了开机进入 grub 引导界面后姐可以自主选择内核登录了(自己的截图找不到了用了同学的,不要在意版本号)
    在这里插入图片描述
  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值