搭建手写OS环境之一:Ubuntu20.04安装bochs和qemu
背景
为什么运行我们写的OS需要两个虚拟机?
- 调试C语言可以用 qemu,也只能用qemu
- 调试汇编、GDT、IDT、分页等,必须用 bochs
环境信息如下:
项目 | 类别 | 版本 |
---|---|---|
操作系统 | Ubuntu | 20.04.2 LTS |
虚拟机 | Bochs | 2.7 |
一、Bochs安装
1.1 下载压缩包
https://sourceforge.net/projects/bochs/files/bochs/2.7/
选择下载
.tar.gz
结尾的安装包
1.2 解压
(1) 使用命令 cd Downloads
从用户默认目录进入下载目录
(2) 使用命令 sudo tar -zxvf bochs-2.7.tar.gz
将下载好的 bochs-2.7.tar.gz 解压;
(3) 使用命令 sudo mv bochs-2.7 /opt/bochs-2.7
将解压后的文件夹移动到 /opt/bochs-2.7
1.3 安装依赖
sudo apt-get install libx11-dev libc6-dev build-essential xorg-dev libgtk2.0-dev libreadline-dev
1.4 配置
(1) 使用命令 cd /opt/bochs-2.7
进入bochs的安装目录;
(2) 在某些情况下,通过调用 make dist-clean
并再次运行./configure
脚本来完全重建Bochs可能会很有用。
(3) 在 /opt/bochs-2.7 目录下执行以下命令:
sudo ./configure --with-x11 --with-x --enable-all-optimizations --enable-readline --enable-debugger-gui --enable-x86-debugger --enable-a20-pin --enable-fast-function-calls --enable-debugger
/opt/bochs-2.7/configure 是一个可执行文件
这个命令会为我们在 bochs 的安装目录(本文中为 /opt/bochs-2.7)创建 Makefile 文件,这样才能执行后面的 make 命令。如果不执行此步骤而直接执行 make,可能报错
make: *** 没有指明目标并且找不到 makefile。 停止。
1.5 编译
(1) 使用命令 pwd
确认当前工作目录是 bochs-2.7 的安装目录;
(2) 先执行命令 sudo make all-clean
,再执行命令 sudo make
:
(3) make 成功后,再执行命令 sudo make install
:
执行完最后一条指令后,
bochs
就是 Terminal 中的一条可执行命令了,例如下图所示:
二、安装qemu
直接用命令 sudo apt-get install qemu
安装即可。