WSL2(Ubuntu 18.04)安装bochs(2.6.11)

前期准备

需要实现了WSL2安装图形化界面,教程

安装依赖

sudo apt-get install libx11-dev xserver-xorg-dev xorg-dev libsdl1.2-dev bximage vgabios

安装gcc和nasm

sudo apt-get install build-essential nasm

安装bochs

下载最新版本的bochs,笔者时2.6.11版本:

wget https://sourceforge.net/projects/bochs/files/bochs/2.6.11/bochs-2.6.11.tar.gz

解压并进入该目录:

tar zxvf bochs-2.6.11.tar.gz
cd bochs-2.6.11/

执行配置文件如下:

./configure --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11

--enable-debugger:打开 bochs 自己的调试器
--enable-disasm:使 bochs 支持反汇编
--enable-iodebug:启用 io 接口调试器
--enable-x86-debugger:支持 x86 调试器
--with-x:使用X Windows
--with-x11:使用X11 图形用户接口

编译并安装:

make
sudo make install

使用bochs命令若出现bochs相关信息则表示安装成功。

测试

新建一个名为boot.asm的文件并添加如下内容:

        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
        ret
BootMessage:    db      "Hello OS World"
times 510-($-$$)        db      0
dw      0xaa55

接着执行如下命令完成编译:

nasm boot.asm –o boot.bin  # 生成引导文件
nasm boot.asm –o boot.com  # 生成com文件

使用bximage生成一个虚拟软驱,如下:
在这里插入图片描述
接着写引导盘,使用如下命令:

dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc

编写bochs的模拟配置文件,创建名为bochsrc的文件,内容如下:

megs: 32  # 内存大小32M
romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
floppya: 1_44=a.img, status=inserted   # 软驱大小和软驱路径
boot: floppy
log: bochsout.txt  # 日志文件
mouse:enabled=0

启动图形化界面后在当前工作目录下使用如下命令开启测试:

bochs  # `bochs -f bochsrc`命令指定bochsrc的模拟配置文件

启动后输入字符c截断后运行,得到结果如下:
在这里插入图片描述
观察到成功执行我们的小系统。

参考资料

https://blog.csdn.net/qq_20084101/article/details/106278596

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D-A-X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值