一、虚拟机的准备

1.下载Ubuntu镜像

Enterprise Open Source and Linux | Ubuntu

在最左边Ubuntu Desktop处点22.04LTS下载iso文件

2.在VMware上创建新的虚拟机

Ubuntu 20.04 虚拟机安装教程_柯基@的博客-CSDN博客_虚拟机安装ubuntu20.04

特别注意: 在"指定磁盘容量"这一步把"最大磁盘大小"设置为50G

如果忘记了或者已经设为默认的20G, 后续编译可能出现文件系统空间不足的情况

这种情况的解决办法: 首先在终端中输入如下命令查看文件系统的空间大小

df -h

如果提示文件系统空间不足而编译失败, 则会有一行的"已用%"为100%(或者百分比最大且容量最大的那一行, 如图应该是/dev/sda3而不是/dev/sr0)。记住这一行的名字。

关闭虚拟机,在""虚拟机设置"中,点击"硬盘",点击"扩展磁盘容量",设置为合适的大小.但是这个操作并不能扩展文件系统的大小,需要进一步设置。

开启虚拟机,在终端中输入如下命令安装分区管理工具gparted。

sudo apt-get install gparted

再输入属下命令启动gparted

sudo gparted

在这个页面中,找到刚才记住的那一行(如果没记住的话, 就是"文件系统"这一列为"ext4"的这一行). 点击这一行,右键,选择"调整大小/移动"

可以拖动上边的的条形框或者输入新大小来扩展

然后再输入命令查看文件系统的空间,就会发现不是100%了,这样就可以重新编译了

二、下载内核和必要的依赖

1.下载内核并解压

The Linux Kernel Archivesd

使用Ubuntu自带的火狐浏览器,点击最大的黄框下载. 或者找到你需要的版本

下载完后, 将其移动到/home/username/这个路径下, 将其解压

tar -xavf linux-5.19.8.tar.xz

2.替换源

输入如下命令, 在打开的文本编辑器将所有内容删除.

sudo gedit /etc/apt/sources.list

在https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/这个网站上找到对应版本的镜像源,将内容复制到文本编辑器中。记得保存

3.下载依赖

逐步输入如下命令

sudo apt-get update
sudo apt-get install make
sudo apt-get install gcc g++
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install libncurses-dev
sudo apt-get install build-essential
sudo apt-get install kernel-package
sudo apt-get install libssl-dev
sudo apt-get install libc6-dev
sudo apt-get install bin86
sudo apt-get install qttools5-dev
sudo apt-get install libelf-dev

三、编译并安装内核

1.查看当前内核版本

uname -r

2.清理之前编译的结果

每次重新编译,都要做这一步再重新开始

sudo make mrproper
sudo make clean

3.内核配置

进入刚才解压的文件夹, 输入如下命令进入配置

sudo make menuconfig

注意, 如果窗口不够大, 这个页面是打不开的, 会报错, 必须先把窗口调大! 安装VMware tools或者在Ubuntu的设置→显示器→分辨率中调大

进入此页面后可以根据需要进行修改,这里保持默认,(这里只能用键盘操作),Exit然后Yes即可.

然后输入进一步修改配置(非必须, 但因为每个人配置不同, 跳过有可能编译失败)

sudo gedit .config

按Ctrl+F, 搜索 CONFIG_SYSTEM_TRUSTED_KEYS和CONFIG_SYSTEM_REVOCATION_KEYS, 删除这两条引号中的内容(而不包括引号). 记得保存

4.编译内核

这一步需要一两个小时甚至更久,完成后最后几行如果没有提示有错误,就是成功

可以分别编译

sudo make bzImage -j4  //20min左右
sudo make modules -j4  //2h左右

也可以一步到位

sudo make -j4

"-j4"是指定4个线程进行编程, 加快速度, 可以改成"-j8"等, 也可以不加

5.安装

sudo make modules_install
sudo make install //将自动修改GRUB配置文件

6.重启测试

sudo reboot
uname -r

重启后, 查看当前内核版本, 如更新为下载的新内核版本, 成功

ubuntu上编译Linux内核步骤相关推荐

  1. Mac上编译Linux内核时找不到ncurses

    Mac上编译Linux内核时找不到ncurses 前言 Linux源码零零散散看了一些,东西太多.今天突然有兴趣想去编译一下Linux内核,就去网上找了一些资料,由于我是用的Mac,然后并没有找到好的 ...

  2. 教你在Ubuntu上安装Linux内核6.1

    终于来了!你现在可以在你的Ubuntu Linux电脑上,或者在基于Ubuntu的发行版上安装最新.最棒的Linux 6.1内核系列了.下面是方法! 作为最新的稳定内核系列,Linux 6.1,也将是 ...

  3. Ubuntu中编译linux内核后使用make menuconfig报错的解决办法

    第一次在Ubuntu中编译完内核使用make menuconfig时出现如下错误 topeet@ubuntu:~/iMX6UL/linux-2.6-imx-rel_imx_4.1.15_1.2.0_g ...

  4. Redhat7.2上编译Linux内核源码

    下载linux源码包:https://git.kernel.org/pub/scm/virt/kvm/kvm.git/snapshot/kvm-4.17-1.tar.gz (这是包含kvm开发版本的l ...

  5. 编译linux内核步骤

    1.安装内核 如果内核已经安装(/usr/src/目录有linux子目录),跳过 如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字 ...

  6. ubuntu下编译linux内核

    http://hi.baidu.com/lcplj123/item/d47fc1d6000b554efb5768aa not kaopu!!! 当遇到gaving up waiting for roo ...

  7. 64位ubuntu 12.04编译linux内核提示mkimage command not found

    今天心血来潮,想编译以下linux内核来玩玩.一开始编译x86的版本,遇到了openssl/opensslv.h文件缺失的问题,经过一番折腾,顺利解决(解决过程请参见我的另外一篇博客"lin ...

  8. 编译安装linux内核步骤

    编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...

  9. 如何在Ubuntu/CentOS上安装Linux内核4.0

    如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...

最新文章

  1. 安卓蓝牙键盘按键映射_双层按键功能自定义:魔蛋68蓝牙双模机械键盘体验
  2. Android开发之通过反射获取全局的application
  3. C++---肿瘤面积
  4. 洛谷 1297 [国家集训队]单选错位——期望
  5. 是谁榨干了 Android 设备的电量和流量?!| 极客头条
  6. CentOS查看硬件情况
  7. 欢迎加入我们的架构师社群
  8. QCA9377驱动调试
  9. linux pt远程下载,Linux下使用Transmission下载BT/PT(无需Gnome)
  10. 第一章 HTML基础
  11. Cyclone IV代FPGA的可编程逻辑资源
  12. 视频剪辑技巧,视频旋转/翻转视频最简单的操作
  13. Flask 和 requests 搭建一个简单的API服务
  14. 【Linux】僵尸进程(Z状态)和孤儿进程
  15. 删除微信文件服务器,局域网微信存储空间怎么清理
  16. Spring Boot Jar包运行指定配置文件
  17. linux命令总结-ls
  18. 2022-05-18 牛客网每日选择题--前端
  19. 杀手机器人的漫长过程继续
  20. WannaCry是什么 如何发起攻击

热门文章

  1. Unity游戏开发官方入门教程:飞机大战(二)——创建飞船对象
  2. Microsoft WiFi与Skype WiFi有什么不同?
  3. Linux安装、使用Sleuth kit/Autopsy(分析磁盘映像和恢复文件的开源取证工具)
  4. ce修改服务器的数据,ce修改游戏服务器数据库
  5. 凸包算法理解——基于MATLAB代码
  6. Python七天作业
  7. 仲恺农业工程学院计算机专业怎么样,仲恺农业工程学院好就业吗?附学校就业率最高的专业名单...
  8. easyExcel 实现简单的读写操作
  9. 实现多行显示省略号和兼容的解决办法
  10. 你的IoT数据究竟该“何去何从”?