操作系统课程设计2_编译Linux内核

一. 实验目的

(1)学习怎样重新编译 Linux 内核

(2)理解、掌握 Linux 标准内核和发行版本内核的区别

二. 实验内容

1)下载Linux最新内核(https://www.kernel.org/,最新版5.5.8);

2)把版本号后面的8改成学号后3位;

3)编译内核并替换到我的Linux系统;

4)重启系统验证结果。

三.操作方法和实验步骤

1、从内核官网www.kernel.com下载最新版本的内核5.5.8,使用su root进入root权限,使用cp -f linux-5.5.8.tar.xz /usr/src命令将内核压缩包复制到/usr/src中,再用cd /usr/src命令进入到src文件夹中,用tar -xvf linux-5.5.056.tar.xz解压压缩包。

解压完成

2、进入解压出来的压缩包,使用gedit Makefile命令来修改Makefile文件,将第三行的sublevel的8改成学号后三位056。

3、使用sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison命令来安装需要的环境。

4、准备文本配置文件.config。

使用cp /boot/config-$(uname -r) .config命令,然后使用uname -r命令来查看

5、使用make menuconfig命令来配置编译参数

6、使用 make -j4 命令编译内核。

编译过程时间较长,部分截图如下:

 

编译完成

7、使用make modules_install命令安装模块。

安装完成!

8、使用make install命令安装内核相关文件。

9、使用命令sudo update-initramfs -c -k 5.5.8来启用内核作为引导,并使用 update-grub 命令来更新 grub。

10、重启之后,使用 uname -r 命令来查看内核版本是否是刚才安装的版本,确认升级是否成功。

升级成功!

四. 实验结果和问题分析

  1. 本次实验本来以为不会花多长时间,而且在做实验之前,我上网搜索了大量有关内核编译的教程,做了充足的准备,然而事实上,整个过程要比我想象的曲折的多。
  2. 第一次编译的时候,编译到一半,提醒我磁盘空间不够,我的虚拟机本来分配的是20G的空间,看来是不够,于是我又重装了一次Ubuntu,为它重新分配50G的空间。
  3. 第二次编译的时候我大概花了很长的时间,将近三个小时,编译结束后才发现,版本号没有成功修改,于是我又上网去找资料学习如何改版本号,知道了要在编译之前修改Makefile文件的sublevel的值,因此这次我又准备再装第三次。
  4. 第三次编译,我做了充足的准备,为了防止出现异常等情况,我在编译之前拍摄了虚拟机的快照,以便出现问题时可以退回重新修改。而且这次,为了使编译过程更快一点,我将虚拟机的内核数增加了一个,还将内存从2G增加到4G。然后使用make -j2双线程编译,最终成功编译完成。

五. 实验总结

本次实验我主要掌握了如何进行Linux的内核编译,在编译的过程中遇到的各种问题也让我明白了,有的时候看似简单的操作,其实并不简单,只有自己亲身去实践才能真正掌握Linux内核编译的过程,通过实践来理解知识,理解Linux操作系统的实质。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值