60 | 搭建操作系统实验环境(上):授人以鱼不如授人以渔
刘超
该思维导图由 AI 生成,仅供参考
操作系统的理论部分我们就讲完了,但是计算机这门学科是实验性的。为了更加深入地了解操作系统的本质,我们必须能够做一些上手实验。操作系统的实验,相比其他计算机课程的实验要更加复杂一些。
我们做任何实验,都需要一个实验环境。这个实验环境要搭建在操作系统之上,但是,我们这个课程本身就是操作系统实验,难不成要自己 debug 自己?到底该咋整呢?
我们有一个利器,那就是 qemu 啊,不知道你还记得吗?它可以在操作系统之上模拟一个操作系统,就像一个普通的进程。那我们是否可以像 debug 普通进程那样,通过 qemu 来 debug 虚拟机里面的操作系统呢?
这一节和下一节,我们就按照这个思路,来试试看,搭建一个操作系统的实验环境。
运行一个 qemu 虚拟机,首先我们要有一个虚拟机的镜像。咱们在虚拟机那一节,已经制作了一个虚拟机的镜像。假设我们要基于 ubuntu-18.04.2-live-server-amd64.iso,它对应的内核版本是 linux-source-4.15.0。
当时我们启动虚拟机的过程很复杂,设置参数的时候也很复杂,以至于解析这些参数就花了我们一章的时间。所以,这里我介绍一个简单的创建和管理虚拟机的方法。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了使用qemu和libvirt搭建操作系统实验环境的方法。通过模拟操作系统和创建虚拟机,读者可以快速搭建实验环境并进行源代码的重新编译。文章详细介绍了创建虚拟机的步骤,包括设置网桥、安装libvirt、创建XML文件定义虚拟机等。此外,还介绍了在虚拟机中配置IP地址的步骤。接着,文章详细讲解了在原有内核代码的基础上加入自定义系统调用的实验过程,包括修改系统调用号、添加系统调用声明和实现等步骤。随后,文章介绍了编译内核的过程,包括安装编译依赖的包、定义编译选项和编译内核等步骤。最后,文章总结了实战课的内容,并提出了课堂练习,鼓励读者按照整个过程一步一步操作,以便更好地理解和掌握内核相关知识。整体而言,本文提供了一种简单而有效的操作系统实验环境搭建方法,为读者提供了授人以渔的技术指导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈 Linux 操作系统》,新⼈⾸单¥68
《趣谈 Linux 操作系统》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(19)
- 最新
- 精选
- Gnayils1. apt安装qemu-kvm,使用/usr/bin/kvm作为domain.xml中的emulator, 然后更改domain节点的type值为kvm,这样虚拟机的速度会更快。 2. 创建ubuntutest.img文件时,size至少30G,否则kernel的编译中间结果很大,会造成编译失败。 3. 将虚拟机的内存改大一些,否则在make install后使用带有debug info的内核启动系统时,unpack initramfs会失败。
作者回复: 赞,实战派
2020-06-0739 - LDxy可以在虚拟机里运行虚拟机吗?
作者回复: 可以,就是慢的一塌糊涂了
2019-08-151 - leslie发现老师的课如老师自己介绍的学习方法一样:不是一遍就能学懂的,跟着做跟着反思;要第二遍或者第三遍才能理解和明白老师所讲所授的知识。 看来所谓的第一遍或者第二遍第三遍只是大概:其实应当是三个阶段/层次;努力坚持努力学习,希望多遍之后能尽力掌握其6-8成。
作者回复: 是的,加油
2019-08-141 - 李海涛在定义xml文件时, <emulator>/usr/bin/qemu-system-x86_64</emulator>里面为什么是/usr/bin/qemu-system-x86_64?我看还有的文档说用 <emulator>/usr/bin/kvm</emulator>, 或 <emulator>/usr/libexec/qemu-kvm</emulator>? 请问这几个的区别?各个的适合使用场景?谢谢!
作者回复: ls一下,看是不是指向同一个文件,不同系统安装完,名字不一定一样
2020-05-19 - 许童童跟着老师一起动手,实战。
作者回复: 动手好,印象深刻
2019-08-14 - 郭江伟请问下老师 每次修改内核都需要全部编译吗? 可以部分编译吗?
作者回复: 如果是模块,可以部分编译,然后加载,核心的部分,就需要全部编译了
2019-08-14 - 大王叫我来巡山当年上课的时候只是给了个文档,让增加系统调用,其实并不明白,终于看明白了
作者回复: 自己尝试一把
2019-08-14 - Marshall后期准备跟着老师动手一下
作者回复: 一定要动手哦
2019-08-14 - 王建峰希望我的记录能帮助到各位同学 Ubuntu20.04上搭建操作系统实验环境:https://blog.csdn.net/feit2417/article/details/1165043412021-05-10110
- 一栋人如果使用 virt-install 加上 "--graphics none --extra-args='console=ttyS0'" 就能直接 virsh console 上了。2020-03-102
收起评论