bochs的安装和配置

article/2025/10/21 9:32:13

参考书籍:《操作系统 真象还原》
书上使用的是bochs-2.6.2.tar.gz。是2013的版本,老旧老旧了,我不使用。
我的系统是Ubuntu18.04。
这篇文章的安装教程并不能正常运行。(只能清楚的熟悉配置文件位置信息等)
对于我而言,掌握正确的配置方法的前提是,掌握下面这篇安装过程。
在我同一博客栏目的下面,有一篇对此的修正博客,能正确运行。(这篇博客最下方也会给出了连接)
https://blog.csdn.net/sinat_38816924/article/details/95012120


1、bochs的安装

sudo apt-get install bochs

如果,仅仅安装这一个。后面运行的是时候会报错。
错误提示:“*******”。我忘了什么提示了。。。
sudo apt-get install bochs- ,用table键,补齐,会发现,还有些插件。我不认识。也不知道作用。很小,便都装上了。

sudo apt-get install bochs-*

如果你知道,这些插件的作用,麻烦留言。
(如果我以后知道了,我回来修改)

2、查看安装位置

  1. whereis bochs。

    /usr/bin/bochs /usr/lib/bochs /usr/share/bochs /usr/share/man/man1/bochs.1.gz
    

    很明显,安装在/usr/share/bochs下。

    如果想仔细查看,使用 locate bochs。
    我们下面的配置文件,写在安装路径下。

3、 bochs的配置

3.1 创建硬盘

以静默,创建一个名为hd60M.img,60M大小的硬盘。模式为平坦模式。
留意下,硬盘创建后的配置信息。
ata0-master: type=disk, path=“hd60M.img”, mode=flat, cylinders=121, heads=16, spt=63

bximage -hd -mode="flat" -size=60 -q hd60M.img

3.2 配置文件

大概知道啥意思,暂时就行了。

#第一步,首先设置 Bochs 在运行过程中能够使用的内存,本例为 32MB
megs: 32#第二步,设置对应真实机器的 BIOS 和 VGA BIOS
romimage: file=/usr/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest#第三步,设置 Bochs 所使用的磁盘,软盘的关键字为 floppy。 
#若只有一个软盘,则使用 floppya 即可,若有多个,则为 floppya,floppyb… 
#floppya: 1_44=a.img, status=inserted#第四步,选择启动盘符
#boot: floppy #默认从软盘启动,将其注释 
boot: disk  #改为从硬盘启动。我们的任何代码都将直接写在硬盘上,所以不会再有读写软盘的操作#第五步,设置日志文件的输出
log: bochsout.txt#第六步,开启或关闭某些功能
#下面是关闭鼠标,并打开键盘
mouse: enabled=0
keyboard_mapping: enabled=1, map=/usr/share/bochs/keymaps/x11-pc-us.map# 硬盘设置
ata0-master: type=disk, path="hd60M.img", mode=flat, cylinders=121, heads=16, spt=63

4、bochs运行测试

bochs -f bochsrc

接着continus,输入c,c是意思continue的便欧了。。
原因是:直接从option中读取不到配置文件。(放在安装目录下)
因为作者使用的旧版本,config,make,make install。
在新版本中,这样的安装方式我不会,摸摸头。
在这里插入图片描述
在这里插入图片描述

5、遗留问题

bochs无法从option中读取到配置文件。
配置文件叫bochsrc。

locate bochsrc。#查找配置文件的位置

返回:/etc/bochs-init/bochsrc。
init,这里是初始化的配置。
我尝试将bochsrc.txt,放该路径下,也不行哈。
咋就读取不到我的配置我文件尼?
(知者,望留言)
/usr/share/doc/bochs 有 bochs的说明文档。
文档中给出了Bochs Documentation: http://bochs.sourceforge.net/doc/docbook/index.html
全英文的,脑袋疼。

见最下方的链接,找不到配置文件没关系。
运行 bochs -f bochs.disk 就好。强制用配置文件运行。

6、tips:linux中的文件目录含义

参考文章:Linux 系统的/usr目录

  1. /usr :/usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据;所有系统默认的软件都会放置到/usr, 系统安装完时,这个目录会占用最多的硬盘容量

  2. 所以也很好理解:Linux下的/bin、/sbin、/usr/bin、/usr/sbin目录的区别

  3. /usr/share/ :放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据。我们 apt install boches.安装的bochs就在这个目录下面

  4. /usr/src/:一般原始码建议放置到这里,src有source的意思。

  5. /usr/share/doc/ : 说明文件存放目录。(/usr/share/doc/bochs bochs的说明文档)。这里面有个README。

网上其他大多数参考文章,忒旧了。
参考文章:https://www.cnblogs.com/HonkerYblogs/p/10285619.html


上面这篇博客,和网上很多类似的博客相似,配置过程太老了。
下面这篇文章,给出配置的方法,也是配置文件的正确操作。
链接:https://blog.csdn.net/sinat_38816924/article/details/95012120


http://chatgpt.dhexx.cn/article/slmQiCMW.shtml

相关文章

bochs2.7安装

Bochs安装 谨以此篇博客记录长达一个星期之久的bochs安装之旅 实测Ubuntu18.04及Ubuntu20.04均可通过自带软件仓库顺利安装并使用,安装指令,远离折腾烦恼 sudo apt-get install bochs bochs-x问题 选用系统:debian11 debian11自带软件仓库…

Windows10下安装使用Bochs-2.6.11

1 环境说明 1.1 下载安装Bochs-2.6.11: 官网:http://bochs.sourceforge.net/ 。 下载:https://sourceforge.net/projects/bochs/files/bochs/ 。 1.2 安装centos7 使用centos7来编译汇编程序。 安装nasm: yum -y install nas…

安卓bochs安装linux教程,Ubuntu 14.04 LTS 安装和配置Bochs

系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 Linux 系统必须已经安装了X Window 系统才能使用Bochs。 因为 Bochs 是用C写的,所以这里要安装GNU gcc/g编译器。 安装命令如下: sudo apt-get ins…

安卓bochs安装linux教程,Ubuntu环境下安装Bochs

首先说一下我的Ubuntu版本,敲命令 sudo lsb_release -a 就可以看到 No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty 所以,我的Ubuntu版本是14.04 也可以用 cat /etc/issue 查看…

bochs运行xp_bochs模拟器xp系统镜像安装教程及注意事项

bochs模拟器xp系统镜像安装教程前面系统天堂小编已经为你详细介绍了,下面系统天堂小编就给你带来bochs模拟器xp系统镜像安装教程及一些注意事项,希望你能喜欢。 bochs模拟器xp系统镜像安装教程: ps:有两个xp镜像,一个是…

bochs简单使用

1、安装 指令安装 sudo apt-get install vgabios bochs bochs-x bximage 源码安装,如果不需要调试功能configure后不用加选项,源码包下载地址 tar vxzf bochs-xxx.tar.gzcd bochs-xxx./configure --enable-debugger --enable-disasmmakemake install 2、…

Bochs下载安装

文章目录 下载Bochs配置Bochs Bochs Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Boch…

使用Bochs写Hello world

Day 1:配置Bochs以及调试模式 一 环境预备 Bochs的安装很简单,我们只需要去官网下载即可。http://bochs.sourceforge.net/ 为了使用Linux命令行,我们可以安装WSL,也可以安装Cygwin(我的选用) 安装NASM。…

Bochs编程环境安装

Bochs编程环境安装 写在前面 为了更好的记录自己学习过程以及踩过的坑,记录一下《操作系统真相还原》的编程环境安装。 安装过程参考了CSDN的这篇博客:安装Vmware Station 安装Ubuntu 装载配置Bochs 1. 本地安装环境 本机系统:win10 64位专…

Bochs安装

近期,准备跟着《一个64位操作系统的设计与实现》干点正事儿。第一步就是安装bochs。书里写得太简略,网上太杂,我自己记录一下自己安装的流程,希望对看到的人有帮助。 sudo apt-get install build-essential sudo apt-get install…

bochs基础使用

bochs 1、安装 sudo apt-get install bochssudo apt-get install bochs-x2、编写文件 vim boot.asmorg 07c00h ; 告诉编译器程序加载到 7c00处 mov ax, cs mov ds, ax mov es, ax call DispStr ; 调用显示字符串例程 jmp $ ; 无限循环 Dis…

Bochs简易教程

Bochs是个啥? 简单来说bochs是一个模拟器,能够完整的模拟一台计算机。详细来讲bochs是X86硬件平台的开源模拟器,完全可以通过软件来给我们提供各种所需的硬件资源。 和bochs类似的虚拟机软件还有我们常用的VMware、Virtuabox,但…

虚拟机上安装bochs的过程(保姆级别)

整个过程:(全程开启root权限:1.打开终端;2.输入:su;3输入密码) 1.在虚拟机上有bochs安装包; curl -O https://nchc.dl.sourceforge.net/project/bochs/bochs/2.6.9/bochs-2.6.9.ta…

Windows下Bochs的简单使用

Bochs的安装 安装Bochs后,安装目录如下: 可以用到的东西分为两大类: 应用程序 先说一下bochs.exe、以及bochdbg.exe前者直接运行虚拟机,后者可以从头开始调试。 然后就是bximage.exe,这是一个专门用于生成软盘或者…

gettimeofday/clock_gettime

我们写程序的时候经常会使用计时函数,比如RPC中计算超时时间,日志中打印当前时间,性能profile中计算某个函数的执行时间等。在使用时间函数的时候,我们一般默认认为时间函数本身的性能是很高的,对主逻辑的影响可以忽略…

gettimeofday 函数

使用C语言编写程序需要获得当前精确时间&#xff08;1970年1月1日到现在的时间&#xff09;&#xff0c;或者为执行计时&#xff0c;可以使用gettimeofday()函数。 库为 #include <sys/time.h> 函数原型 int gettimeofday(struct timeval*tv, struct timezone *tz); …

clock_gettime 函数笔记

函数"clock_gettime"是基于Linux C语言的时间函数,他可以用于计算精度和纳秒。 #include<time.h> int clock_gettime(clockid_t clk_id,struct timespec *tp); clk_id : 检索和设置的clk_id指定的时钟时间。 CLOCK_REALTIME:系统实时时间,随系统实时时间改变…

date.gettime()与时间的获取

date.gettime()返回的是什么&#xff1f; java.util.Date ----------- date.getTime()返回的是什么&#xff1f; 问题&#xff1a; ------------- Date date new Date(); System.out.println(date.getTime()); 输出结果是1210745780625 编译时间当时时间大概是2008年5…

Linux下clock_gettime函数详解

要包含这头文件<time.h> 且在编译链接时需加上 -lrt ;因为在librt中实现了clock_gettime函数。 --- struct timespec ts; clock_gettime(CLOCK_MONOTONIC,ts); printf("%d %d",ts.tv_sec, ts.tv_nsec);打印出来的时间跟 cat /proc/uptime第一个参数一样 /proc/…

Gettimeofday的用法

先看gettimeofday的语法定义&#xff1a; 使用前先包含头文件#include<sys/time.h> 第一个参数&#xff1a;是个timeval *类型的结构体&#xff0c;该结构体如下 timeval.tv_sec 就是秒呗 timeval.tv_usec 就是微秒 一般我们使用gettimeofday是用来…