《Orange‘s》 Bochs环境配置
2024-09-12 08:07:01
安装配置bochs之前先写一个简单的引导扇区用来测试:
org 07c00h
mov ax,cs
mov ds,ax
mov es,ax
call DispStr
jmp $
DispStr:
mov ax,BootMessage
mov bp,ax
mov cx,16 ;串长度
mov ax,01301h
mov bx,000ch ;颜色
mov dl,0
int 10h ;10号中断
ret
BootMessage:
db "Hello, os world!"
times 510-($-$$) db 0 ;填充剩下的空间,使生成的二进制代码为512字节
dw 0xaa55
这段代码会输出Hello, os world!,保存为boot.asm
接着:
- 安装bochs及相关软件
sudo apt-get install vgabios bochs bochs-x bximage nasm - 编译boot.asm
nasm boot.asm -o boot.bin - 使用bximage生成磁盘映像
- 将引导扇区写进映像
dd if =boot.bin of=a.img bs=512 count=1 conv=notrunc - 写.bochsrc配置文件
# how much memory the emulated machine will have
megs: 32
# filename of ROM images
# BIOS已经修改,地址可以不加,可以根据文件大小进行推断,如里加地址要与文件大小相匹配
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/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, since Finix is text only
mouse: enabled=0
# enable key mapping, using US layout as default.
# 键盘的映射方式也改变了
keyboard: keymap=$BXSHARE/keymaps/x11-pc-us.map
- 启动bochs
bochs
接着输入c
最新文章
- JSON数据源提供多值参数的实现
- Product Backlog
- Java中FileOutputStream和FileInputStream使用例子
- APIO2015
- DB天气app冲刺二阶段第四天
- Java错误提示is not an enclosing class
- 为PO手写添加配置文件(hbm.xml)
- 机器学习:R语言中如何使用最小二乘法
- javascript基础-HTML5
- hdu_1025(LIS Nlog(N)算法)
- java常用集合总结
- selenium多窗口切换定位
- 微信小程序性能优化技巧
- Flask 框架
- YUM仓库安装LAMP与LNMP
- 专业语音芯片MT8516 华为AM08蓝牙音箱
- javascrip学习之 数据类型和变量
- 【ELK】【docker】6.Elasticsearch 集群启动多节点 + 解决ES节点集群状态为yellow
- eclipse生成jar包 注意事项!
- 【洛谷P2515【HAOI2010】】软件安装