操作系统作业(在Ubuntu环境下编译一个新的内核)

文章目录

  • 1.下载虚拟机
    • 方法1,在官网下载
    • 方法2,在腾讯电脑管家的软件管理中下载
  • 2.安装虚拟机
  • 3.下载Ubuntu系统
  • 4.在虚拟机中安装系统
    • 创建虚拟机
    • 加载虚拟机
  • 5.获取linux内核源代码
  • 6.安装相关依赖
  • 7.编译内核
    • 1.配置
    • 编译
    • 解决办法:扩大磁盘空间(如果一开始就分配了足够多的内存则不需要如此)
      • 将新建的 linux-swap 中的UUID值更新到/etc下fstab文件中
  • 8.生成新内核
  • 9.切换内核
    • ubuntu---如何进入高级选项
  • 参考资料

1.下载虚拟机

方法1,在官网下载

https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

方法2,在腾讯电脑管家的软件管理中下载

操作系统作业(在Ubuntu环境下编译一个新的内核)_第1张图片

该虚拟机(VMware workstation-pro)是付费软件,只能免费使用一个月(盗版的不敢下,怕有病毒)。

ZF3R0-FHED2-M80TY-8QYGC-NPKYF

2.安装虚拟机

一路next安装即可。
操作系统作业(在Ubuntu环境下编译一个新的内核)_第2张图片

3.下载Ubuntu系统

下载地址:清华大学开源软件镜像站
下载16.04.7版本。
在这里插入图片描述
点击如下下载安装(有1.6GB)

  • i386为32位系统,amd64为64位系统。应该下载64位吧,我猜测。
  • desktop指包含图形用户界面,server没有。

在这里插入图片描述

4.在虚拟机中安装系统

创建虚拟机

创建新的虚拟机
操作系统作业(在Ubuntu环境下编译一个新的内核)_第3张图片
选择 自定义(高级) 安装
将硬盘空间设置为50GB以上,否则会因为硬盘空间不够而报错。(来自破防人的提示)
将硬盘空间设置为50GB以上,否则会因为硬盘空间不够而报错。(来自破防人的提示)
将硬盘空间设置为50GB以上,否则会因为硬盘空间不够而报错。(来自破防人的提示)

重要的事情说三遍
操作系统作业(在Ubuntu环境下编译一个新的内核)_第4张图片
在此处添加你的Ubuntuiso文件
操作系统作业(在Ubuntu环境下编译一个新的内核)_第5张图片

加载虚拟机

该过程需要打三局王者 (别问我是怎么知道的)
操作系统作业(在Ubuntu环境下编译一个新的内核)_第6张图片

5.获取linux内核源代码

网址:https://www.kernel.org/。下载5.16.14最新版本

注意:要在虚拟机中下载内核。
操作系统作业(在Ubuntu环境下编译一个新的内核)_第7张图片
下载完成后在Downloads中可找到
操作系统作业(在Ubuntu环境下编译一个新的内核)_第8张图片
打开压缩包,右键文件-》Extract(提取、解压)
操作系统作业(在Ubuntu环境下编译一个新的内核)_第9张图片
解压到当前位置Extract Here,便有了左边的文件。

操作系统作业(在Ubuntu环境下编译一个新的内核)_第10张图片
将左边的解压文件moveComputer/usr/src中(需要管理员权限)
在这里插入图片描述
启动管理员权限:

ubuntu安装好后,root初始密码(默认密码)不知道,需要设置。
1、先用安装ubuntu的时候创建的用户登录到系统
2、然后输入命令:sudo passwd 摁回车
3、接下来会提示您:输入新密码,重复输入密码,最后提示您passwd:password updated sucessfully
此时已完成root密码的设置
4、接着就可以输入命令:su root
即以root的身份登录到系统里面去了,此时你再拷贝文件,就ok啦
————————————————
版权声明:本文为CSDN博主「zhengxiangwen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhengxiangwen/article/details/50625986

可以看到,它终于被弄过来了…
操作系统作业(在Ubuntu环境下编译一个新的内核)_第11张图片

6.安装相关依赖

安装相关依赖直接在终端进行。先打开终端,依次输入如下命令:

sudo apt-get update
sudo apt-get install libncurses5-dev libssl-dev 
sudo apt-get install build-essential openssl 
sudo apt-get install zlibc minizip 
sudo apt-get install libidn11-dev libidn11
sudo apt-get install bison
sudo apt-get install flex

sudo apt install libelf-dev

部分截图如下
操作系统作业(在Ubuntu环境下编译一个新的内核)_第12张图片

7.编译内核

1.配置

打开linux5.16.14文件,在该文件下运行Terminal(终端)
依次输入以下命令:

sudo make mrproper
sudo make clean
sudo make menuconfig

输入sudo make menuconfig后打开如下界面
操作系统作业(在Ubuntu环境下编译一个新的内核)_第13张图片
这里咱也看不懂,用默认配置,直接Exit就好了。

编译

输入命令

sudo make -j4 或 sudo make -j8

j4j8与电脑核数有关
操作系统作业(在Ubuntu环境下编译一个新的内核)_第14张图片
该过程需要40多分钟。

好吧我想多了。
报错This compute has only 713.3MB disk space remaning

解决办法:扩大磁盘空间(如果一开始就分配了足够多的内存则不需要如此)

操作系统作业(在Ubuntu环境下编译一个新的内核)_第15张图片

  1. 终端输入 sudo apt-get install gparted下载gparted。

  2. 打开gparted软件
    操作系统作业(在Ubuntu环境下编译一个新的内核)_第16张图片

  3. 删除扩展分区
    操作系统作业(在Ubuntu环境下编译一个新的内核)_第17张图片
    因为若要将主分区和扩展内存整合,必须将他俩相连。如下图:
    在这里插入图片描述

  4. 右键主分区,点击Resize/Move.
    操作系统作业(在Ubuntu环境下编译一个新的内核)_第18张图片

  5. 将内存拉过去,点击Resize
    操作系统作业(在Ubuntu环境下编译一个新的内核)_第19张图片

  6. 右键unallocated内存,新建。操作系统作业(在Ubuntu环境下编译一个新的内核)_第20张图片
    将主分区修改位扩展分区,新建。
    在这里插入图片描述

  7. 对未分配区域右键点击New新建。ext4修改为linux-swap
    操作系统作业(在Ubuntu环境下编译一个新的内核)_第21张图片

  8. 点击绿√,最重要的一步
    在这里插入图片描述

将新建的 linux-swap 中的UUID值更新到/etc下fstab文件中

右键单击linux-swap,点击信息,查看UUID值
操作系统作业(在Ubuntu环境下编译一个新的内核)_第22张图片
复制UUID的值
0dc55bb6-264f-4033-abf3-ec77818f1df2

在文件中找到/etc/fstab文件,打开。
(需要用管理员权限修改,在终端输入:sudo nautilus
操作系统作业(在Ubuntu环境下编译一个新的内核)_第23张图片
将第二个UUID修改为复制的值。保存。
之后便看到内存被成功修改。
操作系统作业(在Ubuntu环境下编译一个新的内核)_第24张图片
然后终于编译完成了…

8.生成新内核

sudo make modules_install        //安装内核模块
sudo make install      //安装内核

操作系统作业(在Ubuntu环境下编译一个新的内核)_第25张图片
自此完成作业。。

9.切换内核

ubuntu—如何进入高级选项

开机时长按shift。
操作系统作业(在Ubuntu环境下编译一个新的内核)_第26张图片
打开Advanced options for Ubuntu.有5.16.14内核。
操作系统作业(在Ubuntu环境下编译一个新的内核)_第27张图片

参考资料

VMware虚拟机安装Ubuntu16-18系统超详细过程(含下载地址)
操原作业(一)Ubuntu系统编译一个新的内核
make menuconfig显示错误“Your display is too small to run Menuconfig!”
ubuntu20.04上搭建linux内核驱动调试环境
VMware虚拟机 Linux系统 Ubuntu 16.04 硬盘/磁盘扩容(超详细图文详解!亲测有效!)
ubuntu—如何进入高级选项
等等

你可能感兴趣的:(操作系统,ubuntu,linux)