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

article/2025/10/21 10:00:35

首先说一下我的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

查看版本号。

怎样查看系统是32位还是64位呢?

用命令 uname -m

然后显示:x86_64,这就说明是64位。

安装:

1.去http://nchc.dl.sourceforge.net/project/bochs/bochs/2.4.5/bochs-2.4.5.tar.gz 下载【bochs-2.4.5.tar.gz】

2.解压下载的源代码:

sudo tar zxvf bochs-2.4.5.tar.gz

3.进入bochs-2.4.5目录,运行configure脚本:

sudo ./configure –enable-debugger –enable-disasm

(–enable-debugger和 –enable-disasm 表示开启调试和反汇编功能)

4.第3步正确运行后,会产生一个Makefile文件,于是可以编译:

sudo make

5.安装:

sudo make install

至此,bochs安装已经结束。

但是你也许不会成功。不要着急,下面是编译安装过程中可能出现的一些问题及解决方法:

【错误1】

error: C++ preprocessor “/lib/cpp” fails sanity check

因为Bochs是用C++写的,所以这里要安装GNU g++编译器。

解决方法:

sudo apt-get install build-essential

sudo apt-get install g++

【错误2】

checking for default gui on this platform… x11

ERROR: X windows gui was selected, but X windows libraries were not found.

解决方法:

sudo apt-get install xorg-dev

【错误3】

ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.

解决方法:

sudo apt-get install libgtk2.0-dev

【错误4】

make的时候提示 /usr/bin/ld: gui/libgui.a(gtk_enh_dbg_osdep.o): undefined

reference to symbol pthread_create@@GLIBC_2.1 //

lib/i386-linux-gnu/libpthread.so.0: error adding symbols: DSO missing

from command line collect2: error: ld r

解决方法:

在makefile的“LIB = ”的后面添加如下内容 :

lz -lrt -lm -lpthread

如果已经安装成功,那么我们肯定迫不及待地想用起来。

怎么用呢?这里举一个例子。

1.下载linux0.11的镜像文件

下载地址是:

http://www.oldlinux.org/Linux.old/images/bootroot-0.11

2.写一个简单的Bochs配置文件

#注意'#'后面为注内容

megs:128

#模拟器的内存

romimage:file=/usr/local/share/bochs/BIOS-bochs-latest

#这个是BIOS-bochs-latest的路径,自己慢慢找,不一定和我的一样

vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest

#这个是VGABIOS-lgpl-latest的路径,自己慢慢找

floppya:1_44=bootroot-0.11,status=inserted

#这个是启动软盘,就是我们下载的那个,就在当前目录下,如果不在当前目录,需要指明路径

boot:floppy

#表示从软盘启动

log:bochsout.txt

#日志输出文件

#选项还有很多,想了解更多可以参照原始的.bochsrc(在bochs-2.4.5/目录下)

假设我们保存为bochs_cfg.txt

3.启动Bochs

我们敲命令:

bochs -f bochs_cfg.txt

(-f 选项表示指定配置文件)

然后我们就看到:

10577581b5b23389c8b3aa55171f6239.png

启动Bochs后

输入6,回车

然后看到:

fbee316817542e0293d27791e437f712.png

咦?怎么是一片漆黑呢?

注意到了吗?屏幕底端显示:

[0xfffffff0] f000:fff0 (unk. ctxt): jmp far f000:e05b

处理器在加电启动时,CS=0xF000; IP=0xFFF0,也就是说地址线的低20位是0xFFFF0,且其他地址线被强制为高电平,所以方括号中的地址就是0xfffffff0,此处是一条跳转指令jmp far f000:e05b ,这个地址指向了ROM-BIOS.

此时,Bochs停了下来,在等我们的调试命令。

我们输入c(表示continue),回车

注意看Bochs的窗口,可以看到Linux-0.11启动了!最后的画面是:

07c593c4d3a88baf90e615be04f2986e.png

Linux-0.11启动后

哈哈,是不是很惊喜?


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

相关文章

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是用来…

Java中Date类中getTime()方法

public long getTime() 返回自1970年1月1日以来&#xff0c;由 Date对象表示的00:00:00 GMT的毫秒 数 。 结果 自1970年1月1日以来&#xff0c;以此日期为准的00:00:00 GMT的毫秒数。 这是JDK文档中对于getTime()方法的官方解读 在我实际使用中发现这个方法可以解决日期月日输…

PPT插入视频

最近需要在PPT中插入一段视频&#xff0c;但是发现在插入的时候并不是一帆风顺&#xff0c;所以在这里做一下记录。 1、可能出现如下的提示 2、解决的办法 在OFFICE2010中插入视屏和音频文件时, 注意应确认是微软的格式, 即wmv及wma格式, 否则即使插入后, 在插入时也可能出现…

怎么将PPT中的视频文件保存下来

先右键包含视频的PPT文件&#xff0c;选择‘打开方式’&#xff0c;打开方式的子菜单栏中有一个选择其他应用。 因为我之前操作过&#xff0c;所以会显示那个WinRAR的应用程序&#xff0c;第一个使用的话一般不会出现&#xff0c;点击‘更多应用’&#xff0c;找到‘在这台电脑…

如何在PPT中自动同时播放两个视频

嵌入视频 视频工具中选择自动播放 动画中第二个视频选择和上一动画同时