bochs编译安装

bochs 编译 1、download bochs src from :http://bochs.sourceforge.net/ 2、.con 阅读详情

本文参考X86汇编语言 从实模式到保护模式教材设置
不建议使用Ubuntu22.04,可能由于版本过高,源码编译过程中各种报错和环境依赖问题,无从下手
本机使用deepin20.9顺利编译安装成功,并且deepin对虚拟机适配更友好

特别注意编译带debug的版本,bochs主要工作就是进行调试的,如果你运行bochs没有等待你输入指令就自动执行了可能需要重新安装哦

编译命令
./configure --prefix=‘/usr/local/bochs2.6’ --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11
make
sudo make install

GDB调试版本
./configure --enable-gdb-stub --prefix=‘/usr/local/bochs-gdb’

编译报错问题
./configure …命令执行后需要在生成的makefile中LIBS属性后添加-lpthread,因为头文件引入pthread.h在Linux默认Import Library中没有,需要使用库libpthread.a进行编译链接。
可能缺少的依赖,每个人的环境不一样,具体根据报错baidu
以下仅供参考 sudo apt-get install libx11-dev libc6-dev build-essential xorg-dev libgtk2.0-dev libreadline-dev
安装依赖需要重新configure,修改makefile

安装后添加路径
sudo vim /etc/profile
末尾添加
export PATH=“$PATH:/usr/local/bochs2.6/bin”
这里执行完需要注销下,否则不会立即生效

配置文件
运行bochs可以设置自动生成3edit option->12disk&boot option->(4First HD&15Boot option)
按0可以返回,不要忘了保存配置,命名bochsrc在你的工作目录下,否则每次需要你load
在选项里设置硬盘参数和硬盘启动disk,跳过软盘检查
硬盘可以和virtualbox共用一块,本机使用的virtualbox生成的vhd标准的100M硬盘,bochs的bximage工具也可以生成,本机未测试是否可用,使用VHD需在bochs配置里设置mode为vpc
以上设置均可在以下配置文件中体现,很多参数是自动生成的,参考配置bochsrc(bochs2.6)

# configuration file generated by Bochs
plugin_ctrl: unmapped=1, biosdev=1, speaker=1, extfpuirq=1, parallel=1, serial=1, iodebug=1
config_interface: textconfig
#display_library: x, options="gui_debug"
display_library: x

memory: host=32, guest=32
#文件在安装目录下
romimage: file="/usr/local/bochs/share/bochs/BIOS-bochs-latest"
vgaromimage: file="/usr/local/bochs/share/bochs/VGABIOS-lgpl-latest"
#硬盘启动
boot: disk
floppy_bootsig_check: disabled=1
# no floppya
# no floppyb
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#硬盘参数,使用bximage(2.7版本支持,也可使用课件提供的fixvhdw64工具,其他方法自行baidu)查看C/H/S
ata0-master: type=disk, mode=vpc, translation=auto, path="/home/Sun/Desktop/virtualbox/Other.vhd", cylinders=1003, heads=12, spt=17, biosdetect=auto, model="Generic 1234"
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0
ata3: enabled=0
pci: enabled=0
vga: extension=vbe, update_freq=5
cpu: count=1, ips=4000000, model=bx_generic, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0
cpuid: family=6, model=0x03, stepping=3, mmx=1, apic=xapic, sse=sse2, sse4a=0, sep=1, aes=0, xsave=0, xsaveopt=0, movbe=0, adx=0, smep=0, mwait=1
cpuid: vendor_string="GenuineIntel"
cpuid: brand_string="              Intel(R) Pentium(R) 4 CPU        "

print_timestamps: enabled=0
debugger_log: -
magic_break: enabled=0
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
# no loader
log: -
logprefix: %t%e%d
panic: action=ask
error: action=report
info: action=report
debug: action=ignore
keyboard: type=mf, serial_delay=250, paste_delay=100000, keymap=
user_shortcut: keys=none
mouse: enabled=0, type=ps2, toggle=ctrl+mbutton 
parport1: enabled=1, file=""
parport2: enabled=0
com1: enabled=1, mode=null, dev=""
com2: enabled=0
com3: enabled=0
com4: enabled=0

引导扇区

;test.asm
;仅供测试,在屏幕上输出a
start:mov ax,0xb800
mov ds,ax
mov byte [0],'a'
mov byte [1],02h
jmp $
times 510-($-$$) db 0
db 0x55,0xaa

引导扇区写入脚本附启动vritualbox,不需要VB就自行注释吧

#run
#!/usr/bin/bash
#关闭正在运行的VB,虚拟机名称为asm
VBoxManage controlvm "asm" poweroff
nasm -f bin ./test.asm -o test
dd if=test of=Other.vhd bs=512 count=1 conv=notrunc
hexdump -C Other.vhd | head -10
#开启VB
timeout 10s bash ./start > /dev/null 2>&1
echo "--------  start successfully  ---------"

#start
#!/usr/bin/bash
while true
do sleep 0.3 if VBoxManage startvm "asm" | grep -q "successfully" then break fi
done

在这里插入图片描述

运行bochs
6.Begin simulation
输入b 0x7c00打断点
输入c 执行到断点处

在这里插入图片描述

注意下面的Booting from 0000:7c00,到这说明安装的没有问题

在这里插入图片描述

virtualbox下可以看到输出a
终端运行bochs,输入c执行同样看到了输出a说明环境搭建好啦★,°:.☆( ̄▽ ̄)/$:.°★ 。

bochs编译安装和调试方法 最近在研究从0开始编写操作系统,使用bochs模拟器进行调试,bochs支持单步运行汇编代码,比qemu-system-x86_64会更加方便,这里记录一下bochs的操作方法。 阅读详情

相关推荐

操作系统实验1(BOCHS、自编译 Linux 内核、自定义 syscall)

Operating System Experiment 1 实验环境:Arch Linux (x86_64) 内核版本:5.17.5 实验说明见 PDF Task 1 用 NASM 编写 MBR 引导程序,在 BOCHS 虚拟机中测试 安装 bochs 与 nasm sudo pacman -S bochs nasm 编写 boot.asm 并编译 org 07c00h mov ax, cs mov ds, ax mov es, ax call DispStr jmp $ DispStr:

一般 1414

bochs用户手册-3.4编译

在这种情况下,必须将丢失的DLL从例如Cygwin文件夹复制到编译的EXE文件的位置。有一个名为configure的脚本,它测试您的机器、C/C++编译器和库,以发现哪些设置应该在您的系统上工作。该问题的当前解决方案是,Bochs配置脚本必须在支持shell脚本的不同平台上运行,并带有使其配置为Win32平台而不是本机平台的选项。如果你在FreeBSD上,并且使用ports集合安装了SDL,Bochs将无法自动找到库,因为在这种情况下,SDL配置脚本被称为sdl11-config(即使是1.2版本)。

weixin_45499326的博客 1912

bochs2.6.7源代码可以在linux下配置编译

bochs2.6.7源代码可以在linux下配置编译。

linux_bochs的安装

一个操作系统的实现

qq_42363151的博客 1133

保姆级避坑指南:在Ubuntu 22.04上从零编译Autoware.universe(含ROS2 Humble和CUDA配置)

本文提供了一份详细的Autoware.universe编译指南,涵盖Ubuntu 22.04系统优化、ROS2 Humble安装避坑、CUDA配置及Demo运行技巧。通过分步操作和实战经验,帮助开发者高效完成环境搭建,避免常见错误,提升自动驾驶开发效率。

weixin_30642561的博客 347

SoIC、CoWoS、InFO一次讲透:从2D/2.5D/3D看懂先进封装

先进封装是后摩尔时代提升芯片性能的关键路径,但面对SoIC、CoWoS、InFO这些名词,很多人容易混淆。理解它们,需从最基本的2D、2.5D、3D封装概念入手:2D是传统平房,2.5D通过硅中介层实现高密度互连,3D则让芯片直接堆叠。CoWoS作为2.5D中介层封装,已成为AI芯片与HBM高带宽存储集成的行业标准;SoIC通过铜-铜混合键合实现真正的3D堆叠,为逻辑与缓存提供极致带宽;InFO以扇出型封装兼顾成本与集成度,广泛用于移动SoC。在系统级封装(SiP)和CPO共封装光学等前沿趋势中,这些技术往

weixin_42388898的博客 311

Bochs编译及安装

通过Ubuntu包管理器下载的Bochs无法调试,因此需要自己进行编译安装。 1 命令 ./configure --enable-debugger --enable-disasm make sudo make install 2 常见问题: 问题:X windows gui was selected, but X windows libraries were not found. 解

2319

避坑指南:在Ubuntu 22.04上配置UR5e与ROS2 Humble真机通信的完整流程

本文详细介绍了在Ubuntu 22.04上配置UR5e机械臂与ROS2 Humble真机通信的完整流程,包括环境准备、网络配置、URCap安装、ROS2驱动部署及控制器状态验证等关键步骤。特别针对常见问题如网络连接失败、驱动启动错误等提供了实用解决方案,帮助工程师高效完成UR5e与ROS2的集成工作。

weixin_30790841的博客 464

bochs 编译安装

./configure \ --prefix=/my_study/bochs \ --enable-debugger \ --enable-iodebug \ --enable-x86-debugger \ --with-x \ --with-x11 make && make install

u014753756的博客 318

Playwright自动化测试实战:攻克日历时间控件三大策略与Java实现

在Web自动化测试领域,元素定位与交互模拟是核心技术基础,其原理在于通过程序精确识别并操作页面中的DOM元素,以模拟真实用户行为。这项技术的核心价值在于提升测试效率、确保交互逻辑的覆盖度与可靠性,广泛应用于电商、金融、OA等系统的功能验证。日历时间控件作为典型的复杂交互组件,常涉及动态弹出层、多级导航与状态同步,是自动化测试中的常见难点。本文聚焦于使用Playwright工具,针对此类控件深入剖析了三种核心解决策略:从最高效的直接赋值、到全面模拟用户交互的主流方法,再到利用组件特性的混合定位方案,并结合Ja

weixin_28835551的博客 311

R语言笔记十:独立性检验函数

1.独立性检验函数        独立性检验是根据频数信息判断两类因子彼此相关或相互独立的假设检验。所谓独立性就是指变量之间是独立的,没有关系。 独立性检验算法:卡方检验、Fisher检验、Cochran-Mantel-Haenszel检验 2.假设检验 假设检验(Hypothesis Testing)是数理统计学中根据一定假设条件由样本推断总体的一种方法。 原假设——没有发生 备择假设——发生了 具体做法:根据问题的需要对所研究的总体作

weixin_44384631的博客 4111

Ubuntu2204LTS 编译并安装 bochs2.6.11

阅读过《操作系统真象还原》的同学,都知道,要在 centos6 上编译并安装 bochs。但 centos6 实在太古老了。所以在豆包帮助下摸索着在 Ubuntu2204LTS 编译并安装 bochs2.6.11 成功,以期帮助同学们同学们减少弯路。附录1、附录2告诉了我们:这也说明了,在 AI 时代,我们人均运维专家是问题不大的。就是 1)问题是否有解?无解那没辙。2)有解,则就是过程是否曲折的问题。

u013720572的专栏 781

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek

Win10环境借助DockerDesktop部署Open web UI集成DeepSeek,并借助DuckDuckGo实现联网查询

虎鲸不是鱼 1700

Ubuntu18/20安装配置Bochs2.6.9与编译运行GeekOS

Ubuntu20.04/18.04安装Bochs2.6.9编译运行GeekOS 请注意:博主仅测试在Ubuntu18和Ubuntu20上成功安装Bochs-2.6.9、nasm-2.08.02、geekos-0.3.0,其它版本可能会出现不兼容的情况。若安装调试过程中出现各种奇奇怪怪的错误,请百度报错信息,或给我留言。博主也是在多次失败的情况下,总结各位大佬的解决方案,才成功的。 1.在电脑上安装Linux操作系统 安装过程就不多介绍了,放个Ubuntu的种子,需要的自行下载 Ubuntu 18.04 D

Java_c110的博客 4448

OpenCV图像去畸变实战指南:从原理到参数调优(附完整代码与效果对比)

本文详细解析了OpenCV图像去畸变的原理与实战方法,对比了三种核心函数(标准、鱼眼、全景模型)的适用场景与效果。重点提供了完整的代码示例,并深入探讨了alpha、焦距、中心点等关键参数的调优技巧,以帮助开发者有效矫正镜头畸变,提升计算机视觉任务精度。

life6的博客 553

【四足机器人项目实战】MIT四足机器人力控电机优劣分析及解决办法

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、mit力控电机方案二、弊端三、优点四、解决办法设计相关看专栏其他博客 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对XXX做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、mit力控电机方案 MITCheetahMini驱动器采用的电机是类似于公版电机T-MotorU8的型号

qq_35635374的博客 6090

Ubuntu18.04安装配置Bochs2.6.9与编译运行GeekOS

Ubuntu18.04安装Bochs2.6.9 下载Bochs2.6.9 进入下载地址 找到bochs-2.6.9.tar.gz并下载保存 解压bochs-2.6.9.tar.gz 可使用命令 sudo tar zxvf bochs-2.6.9.tar.gz 解压, 也可以直接右键选择“提取到此处” 安装Bochs 进入bochs-2.6.9目录 在终端输入下列命令 sudo ./configu...

Shane恆的博客 5493

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ubuntu下编译安装bochs

root用户下 apt-get install build-essential apt-get install xorg-dev apt-get install bison apt-get install libgtk2.0-dev tar vxzf bochs-2.6.tar.gz cd bochs-2.6 ./configure --enable-gdb-

新世界 1012

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

安装虚拟机 bochs(编译安装)

首先 cd  文件路径//例如我的  bochs的源文件在  bochs2.5的文件夹, 其路径为/home/tan/下载                   那么就输入: cd  /home/tan/下载/bochs2.5                   然后编译:   ./configure                   再输入:  make

tanhaiyuan 1190

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ubuntu bochs 编译安装

 bochs-2.4.1下载地址:http://sourceforge.net/projects/bochs/files/bochs/2.4.1/安装bochs-2.4.1前要安装 libgtk2.0-dev和xorg-dev sudo apt-get install libgtk2.0-dev xorg-dev解压bochs-2.4.1之后,把/bochs-2

少帅的天空 1706

ubuntu bochs 编译安装及可能出现的错误的解决办法

 bochs的安装方法 bochs-2.4.1下载地址:http://sourceforge.net/projects/bochs/files/bochs/2.4.1/安装bochs-2.4.1前要安装 libgtk2.0-dev和xorg-dev sudo apt-get install libgtk2.0-dev xorg-dev解压boch

行天下 1868

ubuntu 11.10 x64编译安装bochs2.5.1

众所周知Apt-get安装的bochs是不带调试功能的,必须通过源码编译加上--enable-debugger才行。 现在ubuntu源上的bochs版本是2.4.6,但是bochs网站已经发布了2.5.1(http://bochs.sourceforge.net/ ),因此我们直接编译安装bochs2.5.1。   编译源码 从http://bochs.sourceforge.n

如烟海的专栏 2854

fedora17(64位)下编译安装bochs

搞了一天时间。 其实就几步 去bochs官网http://sourceforge.net/projects/bochs/files/bochs/下载源码 解压缩 进入文件目录,./configure –enable-debugger –enable-disasm 用root权限修改生成的Makefile,在其中的链接参数中加一个:-lpthread make make ...

135

在Linux上编译安装Bochs和QEMU的方法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34308389的博客 217

在linux上编译安装QEMU,在Linux上编译安装Bochs和QEMU的方法

Bochs和QEMU都是开源的模拟器软件(也可称为虚拟机软件),通常用来运行和调试操作系统。准备工作:1、一台安装有Ubuntu系统(本文用的是64位的16.04.3版本)的计算机或虚拟机2、必须安装build-essential软件包编译安装Bochs:打开终端,输入以下命令:cd ~/Downloads/bochs-2.6.9sudo apt-get install libgtk2.0-dev...

weixin_28956207的博客 500

在ubuntu 下用 bochs安装编译linux 0.11 并运行

<br />安装bochs之前做一些准备工作<br /> sudo apt-get install build-essential<br /> sudo apt-get install xorg-dev<br /> sudo apt-get install bison<br />一.安装bochs<br />1. 解包<br />         tar xvfz bochs-20100502.tar.gz<br />2.进入bochs-20100502目录<br />         cd bo

LJL1603的专栏 5097
上一篇: 汇编&输入int 16h
下一篇: dd 命令
ಠ_ರೃ大跌眼镜
博客等级 码龄7年 603粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值