前言

国庆期间老师布置了一个作业,其中有一个主要的部分是编译Linux内核。
然而第一次编译可能会遇到许多问题,特别是安装包依赖的问题。这里为了留个纪念,或者希望能帮到大家,特意写了这篇博客。

安装虚拟机

常见的有着两种虚拟机软件:

  • VMware Workstation Pro
  • Oracle VM VirtualBox

远程连接工具(可选)

  • xshell
    可以用学校的邮箱注册一个账号,可以免费下载教育版。我个人比较喜欢用xshell
  • putty

如果使用远程连接工具的话,记得连接之前下好openssl-server (以下命令默认是在ubuntu系统下的)

sudo apt-get install openssh-server

查看

ps -e | grep ssh

要看到sshd 才可以,如果只有ssh-agent或者您在安装openssh-server的时候提示无法定位软件安装包,那么请先执行下面的操作(更新以下系统)

安装系统

去Linux官网下在ubuntu的镜像,建议选择LTS(长期支持版本)或者Stable(稳定版本),虚拟机安装系统的过程这里也不讲了,网上有很多教程。装的时候建议给虚拟机的空间>=60G.

更新系统

如果不是图形界面的话可以参考这篇文章:https://www.cnblogs.com/xiaoyangerlaoshi/p/6168411.html

点击下载自右边的镜像URL下拉框

点击其他站点:

这里点击 选择最佳服务器, 等 两三分钟后,系统自动会选择一个服务器,这时候我们再点击 选择服务器按钮即可,点击完后会提示你更新。


然后打开终端,依次执行

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

其中第二步会花比较长时间,比如二三十分钟,具体取决于你的网络情况还有选择的镜像的情况等。

下载内核并解压

去这个,kernel.org复制一下链接,

这里复制到的地址为 https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.14.tar.xz
然后在你想要的目录下

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.14.tar.xz

输入 ls 会发现刚目录下多了一个 linux-5.8.14.tar.xz 的文件。

解压过程:

xz -d linux-5.8.14.tar.xz

这时候 linux-5.8.14.tar.xz 变成了一个 linux-5.8.14.tar 的文件。

tar xvf linux-5.8.14.tar

完成解压

下载编译内核需要的包

这里一次性先下完先

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

然后设置一下menuconfig.

sudo make menuconfig


按两次ESC键,然后选择Yes,就会在该目录下生成一个配置实验。
然后开始编译

sudo make -j8;

这里-j参数后面的数字代表几核,根据自己实际情况选,建议尽可能大,那样编译起来快一些。
然后经过漫长的编译过程…

完成之后一次输入

sudo make modules_install;
sudo make install;

最后重启虚拟机即可,验证一波:


查看一波编译完成后的文件夹下的东西:

结语

这是人生中一次难忘的经历。可能每个同学遇到的问题都会不一样,但是相信大家能力这么强一定可以解决的! _

记第一次编译Linux内核相关推荐

  1. Linux内核开发_1_编译LInux内核

    目录 1. 准备工作 1.1 学习环境 1.2 下载Linux内核源码 1.3 解压Linux内核 1.4 目录结构介绍 2. Linux内核配置 2.1 配置选项 1. make config 2. ...

  2. debian 编译linux内核源码,安装debian总结以及编译linux内核

    1. 安装debian 使用unetbootin(http://unetbootin.sourceforge.net/)来创建启动盘,并且下载debian的基本包. 将磁盘进行压缩操作,并且保留出一个 ...

  3. 安装debian总结以及编译linux内核

    1. 安装debian 使用unetbootin(http://unetbootin.sourceforge.net/)来创建启动盘,并且下载debian的基本包. 将磁盘进行压缩操作,并且保留出一个 ...

  4. 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录

    如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录 参考文章: (1)如何解决编译linux内核(解决声卡问题),遭遇fata ...

  5. 【Linux 内核】编译 Linux 内核 ⑥ ( 安装 OpenSSL | 安装其它依赖库 | 内核编译完成 )

    文章目录 一.安装 OpenSSL 二.安装其它依赖库 三.Linux 内核编译完成 一.安装 OpenSSL 参考 [错误记录]编译 Linux 内核报错 ( fatal error: openss ...

  6. 【错误记录】编译 Linux 内核报错 ( fatal error: openssl/opensslv.h: No such file or directory )

    文章目录 一.报错信息 二.解决方案 一.报错信息 编译 Linux 内核 , 执行 sudo make 命令 , 开始正式编译 Linux 内核 , 报如下错误 : root@ubuntu:~/ke ...

  7. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )

    文章目录 一.查看 .config 编译配置文件 二.正式编译内核 一.查看 .config 编译配置文件 在上一篇博客 [Linux 内核]编译 Linux 内核 ④ ( 打开 Linux 内核编译 ...

  8. 【错误记录】编译 Linux 内核报错 ( /bin/sh: 1: bison: not found )

    文章目录 一.报错信息 二.解决方案 一.报错信息 编译 Linux 内核 , 执行 make menuconfig 配置菜单命令 , 报如下错误 : root@ubuntu:~/kernel/lin ...

  9. 【错误记录】编译 Linux 内核报错 ( /bin/sh: 1: flex: not found )

    文章目录 一.报错信息 二.解决方案 一.报错信息 编译 Linux 内核 , 执行 make menuconfig 配置菜单命令 , 报如下错误 : root@ubuntu:~/kernel/lin ...

最新文章

  1. servlet实现http通信基础
  2. 网上的一篇spring security详解教程,觉得不错,转过来了
  3. C语言学习之1到10的奇数相乘1到10的偶数相乘
  4. linux创建虚拟声卡,Pear BIOS 安装和配置指引
  5. 【C/C 】浅谈C/C 中函数指针与回调函数
  6. 【Git、GitHub、GitLab】五 git中裸仓库.git下的内容
  7. UI设计素材|图标在UI设计界面当中起到什么作用
  8. GLUT教程(八) GLUT场景漫游II
  9. 基于.NET Socket API 通信的综合应用
  10. 文本分类的14种算法
  11. centOs7 虚拟机设置文件共享
  12. 架构篇:高可用 Redis 服务架构分析与搭建
  13. 博图注册表删除方法_arcgis 10.2安装时error1606以及error2753解决方法记录
  14. AR涂涂乐⭐二、 给material赋予材质、移除material、调整扫描框透明度
  15. U-Net网络理解与应用
  16. Linux 服务器上部署web程序
  17. miui android耗电快,你们的小米手机更新MIUI10之后耗电吗?试试这个方法解决吧
  18. JD6621快速充电协议芯片,带有PPS 控制器的USB-PD3.0
  19. A - Seat Occupation
  20. iOS生态链寄生数百万开发者:艰难求生面临决择

热门文章

  1. 一池江水半江灯。繁星点点落江城,严霜寒雪封不住,若明若暗水火情
  2. 大连东软c语言编程题,大连东软信息学院C语言实验一 windows基本操作和turboc使用答案.doc...
  3. 飞机计算机系统叫什么,飞机电脑和个人电脑有什么不同?
  4. mysql只能存1000条数据_为什么我mysql的表添加了1000条记录之后就存不进去数据了,客户端也没报错...
  5. 小米路由器3G建站折腾笔记4 - 安装opkg和onmp
  6. 7-5 修理牧场 (25 分)
  7. 后退一步 小程序_微信小程序返回上一级页面的实现代码
  8. 语音如何转文字?建议收藏这些方法
  9. kubeadm安装K8s 1.16集群--问题集锦
  10. 三维CAD设计软件的核心技术解析----工业软件讲坛第二次讲座