一、虚拟机的准备

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

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐