技术分享
🗒️补一个作业,编译一个 Linux 内核
00 分钟
2022-9-4
2022-9-4
type
status
date
slug
summary
tags
category
icon
password
Property
Sep 4, 2022 01:53 PM
原创文章

✨开篇

中国大学 Mooc 里有一门操作系统的课程,这门课程是哈工大的李治军老师开设的。学过的同学都说好,听了几节课后,我也心里默默感叹,知乎网友诚不欺我!李老师经常说的一句话,“学习操作系统就是要 Coding them!”,很经典,也很科学!
编译操作系统,是对之进行修改的第一步了,因此,今天特地来补一个作业,编译一个 linux 内核,写篇博客以作记录。

📝工具准备

安装新的虚拟机

因为不清楚编译过程中会发生什么,我新建了一个虚拟机,用的是 Ubantu, 需要下载的同学点击进入官网下载。
notion image
这里记得把空间给多一些,至少多余 20GB,分配了 4 个核。至于为什么,你可以看到下面两位前辈的数据,一个是 2GB RAM + 双核处理器,拷贝下来单个核目录空间花费是 1691MB 花费空间超过 15GB;另一位 4GB + 双核处理器,花费时间 2 小时 20 分钟。空间上至少我们要给到 20GB, 防止放不下生成的 *.o 类型的目标文件而产生链接错误,多核来加快编译速度。下图来自 Ubantu 论坛(这里缺少一个图片地址)
notion image
 

下载内核

  1. 首先内核下载源码。由于连接问题,我在本地下载好用 Winscp 传过去了。
 
  1. 接着安装必要的工具
 
  1. 进去文件夹进行解压
 
解压前大小:
notion image
 
解压后
notion image
 
  1. 进入我们解压得到的文件夹,拷贝当前内核的配置文件(至少确定这样配置编译出来的系统是可以运行的):
  1. 现在我们有一个配置文件了,输入命令 `make munuconfig` 命令打开一个配置工具,这个工具可以帮助我们查看所有的可用模块,在这里你可以启用或者禁用一些模块。
notion image
 
 
  1. 这里我配置不做修改,改了文件名字,单纯的编译一下。
notion image
 
正在编译:
notion image
一个小时左右,编译完成
notion image
 

🔑总结归纳

目前只是走了一个流程,距离制作出一个能用的 ISO 文件还有一段距离

参考文章

 
致谢:
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
 
 

评论
  • Giscus
  • Utterance