搭建手写OS环境之一:Ubuntu20.04安装bochs和qemu

背景

为什么运行我们写的OS需要两个虚拟机?

  1. 调试C语言可以用 qemu,也只能用qemu
  2. 调试汇编、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 安装即可。

参考文档

Bochs User Manual 3.4. Compiling Bochs

posted @ 2022-07-21 09:26  极客子羽  阅读(1988)  评论(0编辑  收藏  举报