注:本文档为《从0学x86操作系统》课程配套的学习文档,提供相应的辅助学习资料和答疑勘误。 有关该课程的信息,请点击这里访问:https://study.163.com/provider/1017884735/index.htm 在阅读本文档时,如有疑问和建议,欢迎在下方留言或者直接联系我。
在视频中,进行test工程的调试时,需要先手动启动【调试准备】,再按F5键,这样略麻烦。
现在的工程配置已经经过修改,只需要按F5,就可以一键自动执行【调试准备】并进入调试。
GCC编译器和CMake
由于不同发行版本的linux配置的包管理器不同,我无法写出覆盖所有发行版的安装方法。因此,以下仅提供针对apt包管理器的发行版本(如ubuntu)环境下的安装。如何安装linux发行版,以及其使用,请自行查找资料。 课程所用的发行版本为:ubuntu-21.04-desktop-amd64。 需要安装的工具有:gcc、gdb、cmake,安装方式如下:
$ sudo apt-get install gcc-i686-linux-gnu
$ sudo apt-get install gdb
$ sudo apt-get install cmake
安装包完后,请按照课程视频所示进行测试,确保安装正确。
qemu模拟器
$ sudo apt-get install qemu-system-x86
安装包完后,请按照课程视频所示进行测试,确保安装正确。
Visual Studio Code
安装包下载地址:https://code.visualstudio.com,点击下载deb包。下载完成后,使用如下命令安装或者双击安装。
$ sudo dpkg -i code_安装包名.deb
安装完成后,点击【扩展】按钮,安装一些扩展。
其中有些扩展是必要的,有些则是方便进行开发,建议都安装上去。安装完成之后,建议重启Visual Stdudio Code。
:微软提供的C/C++扩展开发包
:C/C++智能提示
:提供as汇编的语法高亮
:提供文件夹和文件的显示主题
:提供链接脚本的语法高亮
:十六进制编辑器
配置sudo
在课程中需要使用mount命令来挂载磁盘映像进行读写,这个过程中需要使用到sudo mount命令。但是默认情况下使用该命令后,需要输入密码,这在调试过程中将带来很大不便。因此,需要对sudo进行特殊的配置。
$ sudo vi /etc/sudoers 用vi编辑器打开sudoer配置文件
然后在文件中添加一行:
lishutong ALL=(ALL) NOPASSWD: /usr/bin/mount, /usr/bin/umount, /usr/bin/cp
其中lishutong为我的ubuntu系统的用户名,请自行根据自己所用的系统进行更改。上述配置将使得后续使用mount/umount命令时不需要输入密码。
编辑完成后,在vi中输入:wq! 保存退出。之后重启整个ubuntu系统。
最后,使用cd命令进入到image目录下,分别执行下面两条命令进行简单测试。整个过程应当没有错误信息提示。
$ sudo mount -o offset=$[128*512] disk2.vhd mp
$ sudo umount mp