一、虚拟机的准备
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.下载内核并解压
使用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 updatesudo apt-get install makesudo apt-get install gcc g++sudo apt-get install flex sudo apt-get install bisonsudo apt-get install libncurses-dev sudo apt-get install build-essentialsudo apt-get install kernel-package sudo apt-get install libssl-devsudo apt-get install libc6-dev sudo apt-get install bin86 sudo apt-get install qttools5-devsudo apt-get install libelf-dev
三、编译并安装内核
1.查看当前内核版本
uname -r
2.清理之前编译的结果
每次重新编译,都要做这一步再重新开始
sudo make mrpropersudo 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_installsudo make install //将自动修改GRUB配置文件
6.重启测试
sudo rebootuname -r
重启后, 查看当前内核版本, 如更新为下载的新内核版本, 成功
来源地址:https://blog.csdn.net/m0_61229668/article/details/126850531