OS篇-Bochs在Ubuntu下的安装教程

这篇教程详细介绍了在Ubuntu环境下安装和配置Bochs的过程,包括环境准备、软件安装、配置选项、创建启动盘、编写MBR等步骤,旨在配合《操作系统真相还原》一书实践操作系统的开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OS篇-Bochs在Ubuntu下的安装教程

最近在看《操作系统真相还原》这本书,打算跟着做一个微型操作系统,就有了这篇教程

环境准备

OS篇-Bochs在Ubuntu下的安装教程

安装软件

  • 下载
wget https://udomain.dl.sourceforge.net/project/bochs/bochs/2.6.2/bochs-2.6.2.tar.gz
  • 解压
tar -zxvf bochs-2.6.2.tar.gz
  • 配置
./configure \
--prefix=/your_path/bochs \
--enable-debugger\
--enable-disasm \
--enable-iodebug \
--enable-x86-debugger \
--with-x \
--with-x11

解释

–prefix=/your_path/bochs 是用来指定 bochs 的安装目录,根据个人实际情况将 your_path 替换为自己待安装的路径。
–enable-debugger 打开 bochs 自己的调试器。
–enable-disasm 使 bochs 支持反汇编。
–enable-iodebug 启用 io 接口调试器。
–enable-x86-debugger 支持 x86 调试器。
–with-x 使用 x windows。
–with-x11 使用 x11 图形用户接口。

  • make install

make install报错

x.cc:37:10: fatal error: X11/Xlib.h: No such file or directory #include <X11/Xlib.h> ^~~~~~~~~~~~
还报错
x.cc:42:10: fatal error: X11/extensions/Xrandr.h: No such file or directory #include <X11/extensions/Xrandr.h> ^~~~~~~~~~~~~~~~~~~~~~~~~

解决方法

sudo apt-get install libx11-dev ................. for X11/Xlib.h
sudo apt-get install mesa-common-dev........ for GL/glx.h
sudo apt-get install libglu1-mesa-dev ..... for GL/glu.h
sudo apt-get install libxrandr-dev ........... for X11/extensions/Xrandr.h
sudo apt-get install libxi-dev ................... for X11/extensions/XInput.h

配置软件

将安装目录下的配置文件bochs/share/doc/bochs/bochsrc-sample.txt复制到当前目录

mv /home/mikey/bochs/share/doc/bochs/bochsrc-sample.txt ./bochsrc

查看配置文件

[work@localhost bochs]$ cat bochsrc
###############################################
# Configuration file for Bochs
###############################################
# 第一步,首先设置 Bochs 在运行过程中能够使用的内存,本例为 32MB。
# 关键字为:megs
megs: 32
# 第二步,设置对应真实机器的 BIOS 和 VGA BIOS。
# 对应两个关键字为:romimage 和 vgaromimage
romimage: file=/实际路径/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/实际路径/bochs/share/bochs/VGABIOS-lgpl-latest
# 第三步,设置 Bochs 所使用的磁盘,软盘的关键字为 floppy。
# 若只有一个软盘,则使用 floppya 即可,若有多个,则为 floppya,floppyb...
#floppya: 1_44=a.img, status=inserted
# 第四步,选择启动盘符。
#boot: floppy
#默认从软盘启动,将其注释
boot: disk
#改为从硬盘启动。我们的任何代码都将直接写在硬盘上,所以不会再有读写软盘的操作。
# 第五步,设置日志文件的输出。
log: bochs.out
# 第六步,开启或关闭某些功能。
# 下面是关闭鼠标,并打开键盘。
mouse: enabled=0
keyboard_mapping: enabled=1,
map=/实际路径/bochs/share/bochs/keymaps/x11-pc-us.map
# 硬盘设置
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
# 下面的是增加的 bochs 对 gdb 的支持,这样 gdb 便可以远程连接到此机器的 1234 端口调试了
gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0
###################配置文件结束#####################

测试开机

mikey@mikey:~/bochs/bin$ ./bochs
========================================================================
                       Bochs x86 Emulator 2.6.2
                Built from SVN snapshot on May 26, 2013
                  Compiled on Feb 26 2021 at 11:34:31
========================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦奇-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值