bochs 开启调试选项

bochs 安装过程中的各种问题汇总 我安装的2.6.8 版本注意运行教程中的代码会出现无法引导的问题,得创建 test.asm 文件然后用 nasm进行编译,写 a.img 中。重新启动。 阅读详情
安装
从http://bochs.sourceforge.net/下载
./configure --with-all-libs --enable-vbe --enable-debugger
make
make install
#需要声卡加--enable-sb16,需要网卡加--enable-ne2000,
#64位机使用--enable-x86-64,mmx和sse, smp默认不支持

用SLS Linux  测试
下载SLS Linux    从http://bochs.sourceforge.net/cgi-bin/topper.pl?name=Disk+Images&url=http://sourceforge.net/project/showfiles.phpqmrkgroup_ideq12580amppackage_ideq27799
把SLS Linux 解压缩到一个文件夹

在终端下进到SLS Linux 所在的目录:sls-0.99pl
然后运行bochs
出现问题:
========================================================================
                        Bochs x86 Emulator 2.3
              Build from CVS snapshot on August 27, 2006
========================================================================
00000000000i[     ] reading configuration from bochsrc
00000000000i[     ] WARNING: syntax has changed, please use 'vgaromimage: file=...' now
00000000000e[     ] bochsrc: unknown parameter for parport1 ignored.
00000000000e[     ] bochsrc: floppy_command_delay is DEPRECATED (now using hardware timing).
00000000000e[     ] bochsrc: ips directive is DEPRECATED (use cpu directive parameter 'ips').
------------------------------
Bochs Configuration: Main Menu
------------------------------

This is the Bochs Configuration Interface, where you can describe the
machine that you want to simulate.  Bochs has already searched for a
configuration file (typically called bochsrc.txt) and loaded it if it
could be found.  When you are satisfied with the configuration, go
ahead and start the simulation.

You can also start bochs with the -q option to skip these menus.

1. Restore factory default configuration
2. Read options from...
3. Edit options
4. Save options to...
5. Begin simulation
6. Quit now

Please choose one: [5]
00000000000i[     ] installing x module as the Bochs GUI
00000000000i[     ] using log file bochsout.txt
========================================================================
Event type: PANIC
Device: [MEM0 ]
Message: ROM: couldn't open ROM image file '/usr/local/share/bochs/bios/BIOS-bochs-latest'.

A PANIC has occurred.  Do you want to:
  cont       - continue execution
  alwayscont - continue execution, and don't ask again.
               This affects only PANIC events from device [MEM0 ]
  die        - stop execution now
  abort      - dump core
Choose one of the actions above: [die]
========================================================================
Bochs is exiting with the following message:
[MEM0 ] ROM: couldn't open ROM image file '/usr/local/share/bochs/bios/BIOS-bochs-latest'.
========================================================================


修改几个地方就可以了:
romimage: file=$BXSHARE/bios/BIOS-bochs-latest, address=0xf0000
修改为:romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
vgaromimage: $BXSHARE/bios/VGABIOS-elpin-2.40
修改为:vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

在出现的界面login:输入root
就进入系统
表示bochs的安装成功


创建image文件
dd if=/dev/zero of=hdc.img bs=512 count=524160

Bochs 配置文件 bochsrc.bxrc。在 ata0-master 一行下加
入我们的硬盘 Image 文件的配置参数行:
ata0-slave:type=disk, path=hdc.img, cylinders=520, heads=16, spt=63
此处有些不明白,创建的hdc.img是否在/dev/zero路径?path=hdc.img?


     利用 fdisk 命令在 hdc.img 文件中建立 1 个分区。下面是建立第 1 个分区的命令序列。建立另外 3 个
     分区的过程与此相仿。由于 SLS Linux 默认建立的分区类型是支持 MINIX2.0 文件系统的 81 类型
     (Linux/MINIX)  ,因此需要使用 fdisk 的 t 命令把类型修改成 80(Old MINIX)类型。这里请注意,
     我们已经把 hdc.img 挂接成 SLS Linux 系统下的第 2 个硬盘。按照 Linux 0.11 对硬盘的命名规则,该
     硬盘整体的设备名应为/dev/hd5(参见表 14–3)             。但是从 Linux 0.95 版开始硬盘的命名规则已经修改
     成目前使用的规则,因此在 SLS Linux 下第 2 个硬盘整体的设备名称是/dev/hdb。
[/]# fdisk /dev/hdb
Command (m for help): n
Command action
    e   extended
    p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-520): 1
Last cylinder or +size or +sizeM or +sizeK (1-520): +63M
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): L
  0 Empty              8 AIX            75  PC/IX           b8 BSDI swap
  1 DOS 12-bit FAT     9 AIX bootable   80  Old MINIX       c7 Syrinx
  2 XENIX root         a OPUS           81  Linux/MINIX     db CP/M
  3 XENIX user       40 Venix           82  Linux swap      e1 DOS access
  4 DOS 16-bit <32M 51 Novell?          83  Linux extfs     e3 DOS R/O
  5 Extended         52 Microport       93  Amoeba          f2 DOS secondary
  6 DOS 16-bit >=32 63 GNU HURD         94  Amoeba BBT      ff BBT
  7 OS/2 HPFS        64 Novell          b7  BSDI fs
Hex code (type L to list codes): 80
Command (m for help): p
Disk /dev/hdb: 16 heads, 63 sectors, 520 cylinders
Units = cylinders of 1008 * 512 bytes
    Device Boot Begin    Start     End Blocks Id    System
/dev/hdb1            1       1     129 65015+ 80    Old MINIX
Command (m for help):w
The partition table has been altered.
Please reboot before doing anything else.
[/]#

接着重新启动:

    再次进入 SLS Linux 模拟系统后,我们使用 mkfs 命令在刚建立的第 1 个分区上创建 MINIX 文件系
    统。命令与信息如下所示。这里创建了具有 64000 个数据块的分区(一个数据块为 1KB 字节)        。
[/]# mkfs /dev/hdb1 64000
21333 inodes
64000 blocks
Firstdatazone=680 (680)
Zonesize=1024
Maxsize=268966912
[/]#
     至此,我们完成了在 hdc.img 文件的第 1 个分区中创建文件系统的工作。


现在可以开始加载硬盘上的文件系统了。执行下列命令,把新的文件系统加载到/mnt 目录上。
[/usr/root]# cd /
[/]# mount /dev/hd1 /mnt
[/]#

  在加载了硬盘分区上的文件系统之后,我们就可以把软盘上的根文件系统复制到硬盘上去了。请执
行以下命令:
[/]# cd /mnt
[/mnt]# for i in bin dev etc usr tmp
> do
> cp +recursive +verbose /$i $i
done

    此时软盘根文件系统上的所有文件就会被复制到硬盘上的文件系统中。在复制过程中会出现很多类
似下面的信息。
/usr/bin/mv -> usr/bin/mv
/usr/bin/rm -> usr/bin/rm
/usr/bin/rmdir -> usr/bin/rmdir
/usr/bin/tail -> usr/bin/tail
/usr/bin/more -> usr/bin/more
/usr/local -> usr/local
/usr/root -> usr/root
/usr/root/.bash_history -> usr/root/.bash_history
/usr/root/a.out -> usr/root/a.out
/usr/root/hello.c -> usr/root/hello.c
/tmp -> tmp
[/mnt]#
    现在说明你已经在硬盘上建立好了一个基本的根文件系统。你可以在新文件系统中随处查看一下。
然后卸载硬盘文件系统,并键入'logout'或'exit'退出 Linux 0.11 系统。此时会显示如下信息:


[/mnt]# cd /
[/]# umount /dev/hd1
[/]# logout

Bochs源码分析 - 28:bochs开启x2apic与SMP编译说明 前言 我们现在来根据《x86/x64体系探索及编程》的第十七章分析apic结构,第一个实验就是检测local apic与x2apic,但是现在bochs最新版本配置文件有些变动,需要添加有关配置属性才能开启,为解决这个问题分析了好久(主要是方向找错了)。 开启x2apic 在bochs的配置文件bochsrc.bxrc中添加下面这行配置文件,即可开启,否则按照原来的配置文件检测无效。 cpuid: apic=x2apic 运行结果如下所示,可以... 阅读详情

相关推荐

Centos 安装 bochs

Bochs 是一款多平台虚拟机,支持windows/mac/linux系统 1、依赖安装 安装c++、x11及其扩展依赖 yum install gcc-c++ yum install libX11-devel.x86_64 yum install libXrandr-devel.x86_64 2、编译 编译enable调试器和反汇编功能 ./configue --enable-debugger --enable-disasm make make install make过程中可能出现某些.cc不存在

jlldisaster的博客 1140

bochs 调试

bochs 安装从http://bochs.sourceforge.net/下载./configure --with-all-libs --enable-vbe --enable-debuggermakemake install#需要声卡加--enable-sb16,需要网卡加--enable-ne2000,#64位机使用--enable-x86-64,mmx和sse, smp默认不支持用SLS

s_ware的专栏 9455

bochs使用方法总结

ubuntu14.04下bochs安装方法 去官网下载bochs2.6.7源代码 将其解压到 /usr/local/src 进入/usr/local/src/bochs-2.6.7/,输入命令 sudo ./configure –with-x11 –with-wx –enable-debugger –enable-disasm –enable-all-optimizations

Zeus的专栏 1266

在 ubuntu 下安装 bochs 2.7 的经历

这次经历对以后配环境挺有帮助的,打算记录下来 bochs 2.6 无法观看 GDT,要升级到 bochs 2.7,所以得想办法安装 bochs 2.7 学到的东西: 1. 不同的 Linux 版本,比如 ubuntu 和 ARCH,包的名字很可能是不同的,因此当使用 ubuntu apt 去下载 ARCH 的 pacman 的包名找不到时,建议google一下 ubuntu + pacman ...

shimly123456的博客 927

自己动手写操作系统(二)——搭建bochs环境

在学习《自己动手写操作系统》第三章时候遇到了运行环境的问题,经过一些思考决定使用bochs,但是网上对bochs的总结零零散散,所以我在这里以第三章程序运行环境搭建来的bochs进行一定的总结

YuDale的博客 1万+

调试操作系统-bochs使用入门

调试操作系统-bochs使用入门 1.安装bochs 安装bochs之前的准备: sudo apt-get install build-essential sudo apt-get install libgtk2.0-dev sudo apt-get install libc6-dev 命令行安装 sudo apt-get install vgabios bochs bochs-

qq_15260741的博客 3286

bochs 开启调试选项

安装从http://bochs.sourceforge.net/下载./configure --with-all-libs --enable-vbe --enable-debuggermakemake install#需要声卡加--enable-sb16,需要网卡加--enable-ne2000,#64位机使用--enable-x86-64,mmx和sse, smp默认不支持用SLS Linux...

weixin_30549657的博客 372

bochs2.6.8(带调试界面)

最新的bochs2.6.8 虚拟机,带调试界面,带调试文档和配置文档

emulator教程 lbochs pc_bochs 开启调试选项

安装从http://bochs.sourceforge.net/下载./configure --with-all-libs --enable-vbe --enable-debuggermakemake install#需要声卡加--enable-sb16,需要网卡加--enable-ne2000,#64位机使用--enable-x86-64,mmx和sse, smp默认不支持用SLS Linux...

weixin_34952710的博客 1159

一个可以用gdb调试linux内核的环境

自己搭建的一个可以用gdb调试linux内核的环境,解压后看README,其中有详细的搭建过程。 简单来说就是在一台linux主机上用bochs虚拟机调试内核。 用到的工具: 一台linux主机 bochs源码,压缩包中已有 busybox源码,压缩包中已有 linux内核源码,压缩包中没有包含,自己可以从www.kernel.org中下,示例中用的是2.6.38版本 由于搭建过程中是后面总结的,有可能会有遗漏或描述不清的地方,如有疑问请联系renyq0110301@126.com

windows xp下打造自己的linux0.11实验环境

学习赵炯博士的《linux 0.11 内核完全注释》,在搭建实验环境时都是直接用的赵博的linux-0.11-devel-040329.zip直接进行的实验。有鉴于此,我上网查了,有关于打造了自己的linux0.11简易编译环境的文章,但是没有写全,我把他们综合了一下,做了个完整版。 本人在xp,win7,win8,win10下验证没有问题。

bochs虚拟机调试命令大全

操作系统开发必备工具bochs调试命令大全

yaoyuantao的博客 4662

避坑指南:Dify+Docker+Ollama离线部署实战与疑难解析

本文详细解析了在国产化系统(如银河麒麟V10)内网环境中,如何从零开始离线部署Dify、Docker与Ollama的全栈AI应用开发平台。文章重点拆解了Docker安装中的“没有Release文件”和“GPG密钥错误”等典型报错解决方案,并提供了Ollama离线模型导入与Dify连接配置的完整实战指南,旨在帮助开发者高效完成本地部署,避开常见陷阱。

dd012的博客 465

Bochs 的调试命令

Bochs 的调试命令 h|help   - 显示所有指令列表 h|help 指令 - 显示指定指令的帮助信息 -*- 调试器控制 -*-   help     显示所有指令列表   q|quit|exit     退出虚拟机   instrument     使用指定命令调用 BX_INSTR_DEBUG_CMD 回调     instrument <命令>   tra...

我的专栏 1427

Livox MID360与Fast-LIO2的实战部署指南:从驱动安装到点云处理

本文提供Livox MID360激光雷达与Fast-LIO2激光惯性里程计从零开始的实战部署指南。详细介绍了Ubuntu系统下的驱动安装、网络配置、点云数据验证以及Fast-LIO2算法的编译、参数配置与联合启动流程,帮助开发者快速搭建移动机器人SLAM系统,并包含关键参数调优与常见故障排查方法。

java5的博客 1026

Cadence Virtuoso里搞定斩波运放AC仿真:PSS+PAC保姆级设置避坑指南

然而,当工程师们尝试在Cadence Virtuoso环境中对这种特殊结构进行AC特性分析时,往往会遇到传统AC仿真方法失效的困境——这正是PSS(Periodic Steady-State)与PAC(Periodic AC)仿真组合大显身手的场景。实际项目中我们常采用"先快后精"的两步法:先用快速设置确认大体趋势,再针对关键频段进行精细仿真。例如某次设计迭代中,将harmonics从10增加到20后,发现在1MHz处的相位裕度估算误差达15°,这解释了之前样机测试时的振荡问题。

weixin_33508411的博客 453

GNU开发工具——Bochs模拟器

一、Bochs简介 1、Bochs简介 Bochs是一款X86硬件平台的开源模拟器。VMware、Virtual PC、VirtualBox等虚拟机软件采用虚拟化技术,部分指令直接交给硬件执行,而Bochs模拟器完全靠软件模拟来实现,从启动到重启,包括PC外设键盘、鼠标、VGA卡、磁盘、网卡等全部由软件来模拟,因此Bochs模拟器非常适合开发操作系统,其自带bochsdbg调试器使得调试操作系统非常容易。 2、Bochs源码安装 下载2.6.8版本源码: Bochs x86 PC emulator

天山老妖 1万+

网易数智CoreAgent实战:5步教你打造企业级AI数字员工(附避坑指南)

本文以网易数智CoreAgent智能体协作中枢为核心,提供了一份企业级AI数字员工的实战部署指南。文章详细拆解了从环境准备、智能体配置、业务集成、安全合规到效果评估的五个关键步骤,并分享了部署过程中的常见“避坑”经验,旨在帮助企业技术团队高效、安全地将AI智能体落地于实际业务场景,解决AI落地难题。

rice5的博客 955

使用bochs和gdb联合调试Linux内核

bochs这个软件准确来说应该叫做“模拟器”,而不是虚拟机,因为VMware等虚拟机是将Guest系统所有的指令都放到真实硬件上执行,而bochs模拟器则是直接用软件模拟硬件的执行,举个例子,在bochs里你可以自定义CPU指令并在汇编里使用,这一条足以说明bochs是多么强大,实在是操作系统开发者首选的利器。 bochs安装 上一篇博文讲了DDD的安装,这一篇博文先将讲bochs的安装,

Linux Kernel Developer 2312

学Simulink——基于直流电机的建模与控制场景实例:他励直流电机的起动与制动过程仿真

直流电机在工业控制、电动车辆、自动化设备中广泛应用。其中,他励直流电机(Separately Excited DC Motor)因其励磁绕组与电枢绕组分别供电,具有良好的调速性能和启动特性,常用于需要平稳启动和精确控制的场合。在实际应用中,电机的启动过程和制动过程对电网、机械系统以及电机本身都具有重要影响。因此,仿真分析他励直流电机的启动与制动特性,是电机控制设计的重要环节。本文将详细介绍如何使用构建一个他励直流电机的启动与制动过程仿真模型,并通过仿真分析其动态响应。本文详细介绍了如何使用构建一个。

xiaoheshang_123的博客 228

UMI——斯坦福刷盘机器人:通过手持夹爪革新数据收集方式,且使用视觉SLAM和Diffusion Policy预测动作

没想到今年年初的斯坦福mobilealoha的热度刚过,而到今年2月的下旬,斯坦福另一个团队又推出了UMI刷盘机器人,且这两个团队还互相认识、还在一块共同切磋(顺带小小感叹一下,斯坦福的氛围是真好而且真高产)斯坦福UMI刷盘机器人其与mobile aloha(以及AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild)最大的不同在于其收集数据处理的非真实的机器人,而是一个手持夹持器(从而大幅降低成本)

u013250861的博客 1357

Window10系统Bochs 3.0调试模式开启方法

Bochs调试器现已集成到所有发布版本中,无需单独安装。用户只需在安装目录下通过CMD输入指定命令即可启动调试器,操作简便。

OWkaca的博客 507

用 i18n 驯服标准文案:SAP Fiori elements 的 UI 文本本地化与可替换实践全景

本文系统介绍了SAP Fiori elements应用中UI文本本地化的全面解决方案。从框架层与应用层文本的分类原则出发,详细解析了标准文本替换的四步法:资源准备、键值定位、模型配置和验证部署。文章特别针对不同开发场景,提供了XML、ABAP CDS和CAP CDS三种注解方式的文本覆盖写法示例。同时深入探讨了语言回退机制、表格组件标准键覆盖等关键技术细节,并指出了实际项目中的常见问题与解决方案。通过结合官方文档和社区实践,为开发人员在不破坏框架约定的前提下,实现稳定可靠的UI文本本地化提供了完整指导。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 298

Bochs调试器指令

Bochs调试器指令 ### 执行控制 - **c**: 继续执行 - **s**: 单步执行 - **b**: 设置断点 - **del**: 删除断点 - **reset**: 重置仿真器 - **quit/q**: 退出调试器

a7546391的博客 761

【WLAN】【基础知识】WIFI那些事儿之信道和频谱(涵盖2.4G、5G、6G,全网最全)

- 从事WIFI相关开发或测试工作,经常要和信道、频宽、频率等打交道,本文仅将平时涉及的2.4G、5G、6G的信道、频宽、频率等做一总结。 - 一图胜万言,本文汇总了工作中经常用到的频谱图,保证全网最全!!! - 本博客地址,https://blog.youkuaiyun.com/qxhgd,欢迎各位关注,转发请注明出处。

一介草民,只为生活。 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Bochs调试及相关仿真工具的使用方法

关键词:bochs,自己动手写操作系统  一 安装具有调试功能的bochs 注意:安装bochs以后,常常发现bochs不能调试,原因如下: $ sudo apt-get install vgabios bochs bochs-x bximage 敲入这样一行命令,不一会儿就装好了。缺点:没有调试功能的,这显然不能满足我们的需要,所以最好的方法还是从源代码安装. 首先下载最新版本

xyjikl 1297

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 利用GDB和Bochs调试内核源代码
下一篇: ubuntu 8.04 bochs 调试linux 0.11内核
AstrayLinux
博客等级 码龄15年 55粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值