美文网首页
Mac M2 安装bochs

Mac M2 安装bochs

作者: 萝卜酱紫 | 来源:发表于2023-07-24 17:37 被阅读0次

1. Mac安装bochs

需要安装homebrew

使用homebrew安装bochs

brew install bochs

bochs 使用 sdl2 渲染,bochs在Mac上可视化依赖sdl 或者 sdl2,使用homebrew安装sdl 或者 sdl2

brew install sdl2

我的电脑安装bochs后,bochs的目录是在 /opt/homebrew/Cellar/bochs/2.7

2.配置启动信息

终端输入 vim ~/.bash_profile 回车 或者直接找到 .bash_profile,添加下面两行配置(根据自己实际bochs安装位置),不存在 .bash_profile的话,直接touch .bash_profile

export BXSHARE="$HOME/opt/homebrew/Cellar/bochs/2.7/share/bochs"

export PATH="$PATH:$HOME/opt/homebrew/Cellar/bochs/2.7/bin"

再执行 source .bash_profile 让Mac重新加载配置

image.png

找到bochsrc-sample.txt 拷贝一份,然后修改名称为bochsrc.txt
我的电脑目录是在 /opt/homebrew/Cellar/bochs/2.7/share/doc/bochs/bochsrc-sample.txt

修改 bochsrc.txt 文件:

#图形模式设置,这两个一起开启  
magic_break: enabled=1
display_library: sdl2

#bios 和 vga bios
romimage: file=$BXSHARE/BIOS-bochs-latest 
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

#1.44=磁盘镜像位置  boot.img 跟下面创建磁盘时的磁盘名字保持一致
floppya: 1_44=boot.img, status=inserted

#从软盘启动
boot: floppy

#输出日志
log: bochsout.txt

#置鼠标不可用
mouse: enabled=0

#键盘配置
keyboard: keymap=#$BXSHARE/keymaps/x11-pc-us.map

#内存容量
megs: 32

文件中有2行需要注释掉,行前面加 '#' 如下

#sound: driver=default, waveout=/dev/dsp. wavein=, midiout=
...
#ata0-master: type=disk, mode=flat, path="30M.sample"

3.创建磁盘

打开终端,cd到bochs目录下的bin文件夹,输入 bximge 回车,
第一步:输入 1 回车(创建磁盘或者如软盘)
第二步:输入 fd 回车 (选择软盘)
第三步:直接回车 (默认1.44M就行)
第四步:输入 boot.img 回车 (磁盘名称,注意要和bochsrc.txt配置的挂载磁盘名称一致)
在bin文件夹下就会多出来一个 boot.img,大小1.5MB

image.png

4. 编写测试汇编代码,在屏幕输出hello world 来测试模拟器。

这里讲一下,mac自带的nasm,如果版本过低,可以用brew update nasm 试试升级一下

新建一个文件夹 cd进入,vim boot 按键盘上的i (英文输入法下),随便输入一些内容,然后esc再control + z退出,修改文件名为boot.asm,右键文本编辑打开,粘贴下面代码到boot.asm文件

 org 0x7c00
    jmp entry
    db 0x90
entry:
    mov ax,0
    mov ss,ax
    mov sp,0x7c00
    mov ds,ax
    mov es,ax
    mov si,msg
putloop:
    mov al,[si]
    add si,1
    cmp al,0
    je fin
    mov ah,0x0e
    mov bx,15
    int 0x10
    jmp putloop
fin:
    hlt
    jmp fin
msg:
    db 0x0a,0x0a
    db "hello world!"
    db 0x0a
    db 0
    times 510 - ($-$$) db 0
    dw 0xaa55

5. 编译汇编代码

编译:

nasm boot.asm -o boot.bin

把生成的boot.bin放到bochs目录下的bin文件夹

6. 将编译后的代码写入软盘中

cd到bochs目录下的bin文件夹

将引导程序写进软盘镜像:

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

7. 启动bochs

启动命令是:bochs -f 配置文件的绝对路径

绝对路径 :

bochs -f /opt/homebrew/Cellar/bochs/2.7/share/bochs/bochsrc.txt

相对路径:cd到bochsrc.txt的目录

bochs -f bochsrc.txt

然后选择以什么方式启动,这里默认就行 模拟器

image.png

启动之后,输入: c 然后回车

image.png image.png

8.安装和启动qemu

https://www.jianshu.com/p/58053423129d

使用如下命令安装 qemu:brew install qemu

使用命令检查 qemu 是否安装成功:brew info qemu

启动 img 镜像:

qemu-system-i386 -L [BIOS、VGA BIOS、keymaps 的目录] -m 32m -rtc base=localtime -vga std -hda [img路径]

参数解释:
-L:设置 BIOS、VGA BIOS、keymaps 的目录。
-m:设置客户机的内存。
-rtc:设置时间。
-vga:显示器相关。
-hda:指定镜像的路径,最好是绝对路径,使用绝对路径麻烦相对少一些。

例如:

qemu-system-i386 -L /opt/homebrew/Cellar/bochs/2.7/share/bochs -m 32m -rtc base=localtime -vga std -hda /opt/homebrew/Cellar/bochs/2.7/bin/boot.img

相关文章

网友评论

      本文标题:Mac M2 安装bochs

      本文链接:https://www.haomeiwen.com/subject/xzfcpdtx.html