安装gcc编译环境
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install libgtk2.0-dev
下载bochs最新版本
http://bochs.sourceforge.net/
安装命令
$tar vxzf bochs-2.4.5.tar.gz
$cd bochs-2.4.5
$./configure --enable-debugger --enable-disasm
$make
$sudo make install
安装nasm
sudo apt-get install nasm
编译boot.asm
nasm boot.asm -o boot.bin
此处的boot.asm是一段汇编代码,在屏幕上打印出hello, OS world!
代码如下:
org
07c00h
; 告诉编译器程序加载到7c00处
mov
ax, cs
mov
ds, ax
mov
es, ax
call
DispStr
; 调用显示字符串例程
jmp
$
; 无限循环
DispStr:
mov
ax, BootMessage
mov
bp, ax
; ES:BP = 串地址
mov
cx, 16
; CX = 串长度
mov
ax, 01301h
; AH = 13, AL = 01h
mov
bx, 000ch
; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
mov
dl, 0
int
10h
; 10h 号中断
ret
BootMessage:
db
"Hello, OS world!"
times
510-($-$$)
db
0
; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw
0xaa55
; 结束标志
使用dd命令将它写进刚刚创建的软盘映像a.img的第一个扇区
dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc
此时还需要配置bochs的配置文件bochsrc,标准的配置文件格式为
###############################################################
# Configuration file for Bochs
###############################################################
# how much memory the emulated machine will have
megs: 32
# filename of ROM images
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest
# what disk images will be used
floppya: 1_44=a.img, status=inserted
# choose the boot disk.
boot: floppy
# where do we send log messages?
# log: bochsout.txt
# disable the mouse
mouse: enabled=0
# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map
接着便可以执行
bochs -f bochsrc
来运行bochsrc虚拟机。
分享到:
相关推荐
Bochs是一个免费且开放源代码的IA-32(x86)架构PC机模拟器。在它模拟出的环境中可以运行Linux...而Bochs本身具有很高的移植性,可以运行在多种软硬件平台之上。如果您想拥抱自由的Linux,那么Bochs几乎是您的不二选择。
本文主要讲述了在 Ubuntu 18.04 环境下编译 Linux 0.11 内核,并在 Bochs 2.6.9 中进行调试运行的过程。文章涵盖了编译 Linux 0.11 内核源代码、Bochs 2.6.9 下的调试运行、问题定位和解决方法等方面的知识点。 一...
本文将深入探讨Bochs 2.6.9与Linux 0.11之间的交互,以及如何在Ubuntu 16.04上实现这个古老的Linux版本的运行。 Bochs是一款开源的x86兼容PC模拟器,它可以在多种平台上运行,包括Linux、Windows、Mac OS X等。...
### 五、运行Bochs 现在可以启动Bochs了,命令行输入: ```bash bochs -f my_bochsrc.txt ``` ### 六、调试与使用GUI Bochs内置了一个强大的调试器,通过`-d`选项启用: ```bash bochs -d -f my_bochsrc.txt ``...
测试环境为ubuntu12.04 参考于渊的《ORANGES》源代码。实现保护模式下ucos从x86裸机启动。...可以对比DOS下的运行结果(邵贝贝教授书里光盘附带的代码)学习了解ucOSII(邵贝贝教授书里光盘附带的代码)。
Bochs可以从官方网站下载源代码,或者通过包管理器(如Ubuntu的`apt-get`或Fedora的`dnf`)获取预编译的二进制包。安装过程中,确保所有必要的依赖项,如GCC编译器、SDL库等都已安装。安装完成后,配置Bochs以模拟所...
现在,我们准备好运行Bochs: ```bash bochs -f bochsrc.txt ``` Bochs将启动,并尝试从软盘加载我们的内核。如果一切顺利,您将看到Linux-0.11内核开始初始化。 通过这次实验,您不仅可以了解如何在Ubuntu上编译...
6. **运行Bochs**: 最后,使用Bochs配置文件启动模拟器: ``` bochs -f bochsrc.txt ``` 在提供的文件列表中,`Bochs_Elementary_Linux.htm`可能是关于如何在Bochs中安装和配置Elementary Linux(一个基于Linux...
### 运行Bochs 启动Bochs时,需要指定配置文件的位置,如`bochs -f bochsrc`。如果一切配置无误,Bochs会模拟启动一个x86系统。 ### 使用Bochs运行Hello World OS 文件`helloWorldOS.TXT`可能包含了一个简单的...
在本文中,我们将深入探讨Ubuntu操作系统的基础知识,以及如何在Ubuntu环境下进行软件的安装与配置。Ubuntu是一款基于Debian的开源Linux发行版,以其用户友好性、强大的软件库和广泛的社区支持而广受赞誉。针对标题...
在Bochs中运行Xv6可能需要对`.bochsrc`配置文件进行调整,例如增加内存大小(meegs:32改为meegs:256)和修改硬盘参数(cylinders=1024改为cylinders=1000),以确保Xv6能够正确加载和运行。 5. **调试**:在运行Xv6...
本实验主要介绍了多核操作系统实践实验的第一个部分,整个实验的目的是安装开发环境,编译和安装 Bochs,编译 JOS,并配置 Bochs 以便在其上运行 JOS。下面是实验的详细步骤和知识点: 安装开发环境 在实验中,...
4. **调试内核**:Bochs支持GDB远程调试,可以在源代码目录下运行`gdb vmlinuz`,然后在Bochs中启用GDB服务器,连接到本地GDB实例,进行源代码级别的调试。 **调试技巧** 1. **使用GDB**:利用GDB的断点、单步执行...
虚拟机软件VMware被提及,它允许在Windows主机上运行Ubuntu,为用户提供了一种在不影响现有系统的情况下试验或使用Linux环境的方法。VMware提供良好的性能和兼容性,使得在Windows上使用Ubuntu变得更加便捷。 接...
在Ubuntu环境下学习汇编语言,意味着我们将使用Linux系统工具,例如`as`汇编器、`ld`链接器以及`gdb`调试器。通过`Makefile`,我们可以自动化构建和测试过程,这对于大型项目尤其重要。 文件列表中的`c17_1.asm`、`...
Linux发行版:建议使用debian和ubuntu 虚拟机:qemu(recommend)或bochs 一些工具:cscope,ctags,gcc-4.3(或更高版本),vim,bash,gdb,dd,qemu,xorg-dev,xserver-xorg-dev ... $ apt-get install qemu ...
Tiny OS操作系统内核是基于Intel x86平台的32位处理器系统,可以在Bochs(x86硬件平台的开源仿真器)上的虚拟机中运行,使用Ubuntu 20作为虚拟机开发环境.04 + V
更新了Bochs模拟器版本到2.6.10(最新版2.6.11在Linux下有重大BUG) 更新了Bochs的BIOS和VGABIOS到最新版本 修正了Bochs的配置文件(老版本的配置文件无法在新版Bochs上使用) 重写了setup脚本,自动安装上了运行所...