首页 > 系统相关 >北京理工大学操作系统 实验一 编译Linux内核

北京理工大学操作系统 实验一 编译Linux内核

时间:2024-03-28 16:33:07浏览次数:42  
标签:sudo 编译 北京理工大学 实验 内核 install Linux

实验一 编译Linux内核


Copyright © 2024 Squareroot_2, All rights reserved.

实验一 编译Linux内核

一、实验目的

1.学习怎样重新编译Linux内核。
2.理解、掌握Linux标准内核和发行版本内核的区别。

二、实验内容

安装虚拟机并配置环境,准备Linux的内核文件,编译并安装Linux的内核,配置GRUB,重启并查引导文件,看内核安装情况。

三、实验步骤

1.安装虚拟机并配置环境

实验环境:

虚拟机软件:VMware Workstation 16Pro
Linux发行版:ubuntu-22.04.3
虚拟机配置:4核CPU,8GB内存,硬盘80GB。

创造虚拟机后,安装ubuntu-22.04.3操作系统,操作系统安装图略。
输入以下命令安装依赖:

sudo apt-get install  libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo apt-get install minizip
sudo apt-get install libidn11-dev

依赖安装图略
运行命令 uname -a,得到内核版本为6.2.0-33-generic
内核版本为6.2.0-33-generic

2.下载并解压Linux内核源码

下载linux-6.5.5.tar.xz并使用指令: sudo tar -xvf linux-6.5.5.tar.xz -C /usr/src/ 解压
在这里插入图片描述

3.配置内核编译选项

运行 make oldconfig 命令,使用原有内核配置
在这里插入图片描述

此处还需修改.config文件,否则报错 在这里插入图片描述

修改前:
在这里插入图片描述

修改后:

4.编译并安装内核和模块

运行 sudo make -j8 编译相应的内核模块,其中 -j8 表示使用8个并行任务执行构建操作,该步操作需要较长时间
在这里插入图片描述
运行 sudo make -j8 modules 命令,编译模块
在这里插入图片描述

运行命令sudo make modules_installsudo make install安装编译好的内核模块。 在这里插入图片描述
在这里插入图片描述

5.修改GRUB配置

运行命令sudo update-grub2,自动修改GRUB配置引导文件,最后运行reboot命令重启系统。
在这里插入图片描述

四、实验结果及分析

重启虚拟机后,在桌面打开终端输入uname -a 查看当前系统内核版本为刚才编译的6.5.5,证明已经成功编译并安装了Linux内核。
在这里插入图片描述

五、实验收获与体会

编译Linux内核是学习操作系统这门课程一个非常重要的步骤,在本次实验中,我通过终端操作命令,在Linux操作系统里成功实现了内核编译。通过本次实验,我学习了怎样重新编译Linux内核,理解并掌握了Linux标准内核和发行版本内核的区别,对操作系统的基础知识有了更深刻的理解。

标签:sudo,编译,北京理工大学,实验,内核,install,Linux
From: https://blog.csdn.net/Squareroot_2/article/details/137047572

相关文章

  • linux虚拟机没有ip,网卡服务无法启动的解决
    最近使用虚拟机做实验,挂起虚拟机后再回复,发现经常无法使用xshell连接。进入虚拟机后,使用ifconfig命令查看网卡状态,发现网卡的ip没有了[root@host103~]#ifconfigens33      重启网卡,发现报错。查看网卡目录,也就只有这一个网卡文件,也就是不存在其他网卡配置错......
  • Linux系统通过firewall限制或开放IP及端口
    一、查看防火墙状态1、首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启systemctlstatusfirewalld开启防火墙并设置开机自启systemctlstartfirewalldsystemctlenablefirewalld一般需要重启一下机器,不然后面做的设置可能不会生效二、开放或限制端口1、开放端......
  • Linux centos7离线搭建FTP
    1、下载、安装ftp下载ftp安装包,可以从rpm下载站搜索合适的版本,使用wget命令下载。wgethttps://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm安装:rpm-ivhvsftpd-3.0.2-28.el7.x86_64.rpm2、配置ftp2.1、创建用户、授权目录#创建......
  • Linux基础命令
    包含日常开发能用到的大部分Linux命令Linux的目录结构/,根目录是最顶级的目录了Linux只有一个顶级目录:/路径描述的层次关系同样适用/来表示/home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txtls命令功能:列出文件夹信息语法:ls[-l-h-a][参数]......
  • 在Linux中,如何使用iostat、sar、netstat等工具进行硬件资源监控?
    在Linux系统中,有多种工具可用于监控硬件资源,其中iostat、sar和netstat是常用的几个。下面我会详细解释如何使用这些工具进行硬件资源监控。1.iostat:监控磁盘I/O统计信息iostat是一个用于监视系统输入/输出设备加载情况的工具。它可以报告中央处理器(CPU)统计信息和所有已安装文件......
  • 在Linux中,如何使用top、htop、vmstat等命令监控系统性能?
    在Linux系统中,top、htop和vmstat是三个常用的命令行工具,用于监控系统性能。它们分别提供了不同的视角和信息,帮助管理员了解系统的运行状况。1.top命令top是一个实时显示系统进程状态的动态视图工具,可以显示系统总体负载、各个进程的资源消耗(CPU、内存)等情况。基本用法:......
  • 在Linux中,当遇到系统卡顿时,你会采取哪些步骤来定位原因?
    当Linux系统出现卡顿时,作为系统管理员或运维人员,可以遵循以下步骤来定位问题原因:观察当前系统状态:远程登录:如果系统仍能接受远程连接,立即通过SSH等方式登录到系统,避免过多的本地交互增加系统负担。检查CPU、内存、磁盘和网络资源使用情况:使用top或htop命令实时查看整体CPU......
  • linux常用命令
    linux常用命令防火墙操作开放8081端口firewall-cmd--add-port=8081/tcp--permanent防火墙重启firewall-cmd--reload查看当前开放端口firewall-cmd--list-ports--permanentmysql重启systemctlrestartmysqldmysql登录mysql-h地址-P端口-u用户名-p密码......
  • [转帖]Arm更新Neoverse产品路线图:N3/V3内核曝光,能效及AI性能大涨
    https://new.qq.com/rain/a/20240222A0495O00 +关注2月22日,半导体IP大厂Arm宣布推出新一代ArmNeoverse技术。其中包括,通过性能效率更优异的N系列新IP扩展ArmNeoverse计算子系统(CSS)产品路线图。与NeoverseCSSN2相比,NeoverseCSSN3的每瓦性能可提高......
  • Linux C++ 007-指针
    LinuxC++007-指针本节关键字:Linux、C++、指针、函数指针相关库函数:基本概念指针的作用:可以通过指针间接访问内存。内存编号是从0开始记录的,一般用于十六进制数字表示,可以利用指针变量保存地址。定义和使用指针变量定义语法:数据类型*变量名;指针所占内存空间,指针......