Mac 中安装 bochs 并启动

  1. 安装 bochs

    直接使用 brew 进行安装,若没有下载 brew 工具, 参见 https://brew.idayer.com

    brew install bochs
    
    ==> Fetching dependencies for bochs: libtool and sdl2
    

    会自动安装 libtoolsdl2 工具,安装成功后默认安装目录为: /usr/local/Cellar/bochs/2.8

  2. 创建软盘
    首先进入项目目录,输入如下命令
    bximage

    bximage-img

  3. 编写汇编代码
    代码如下,存储为 boot.asm 文件

           org 7c00h
           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
    
    
  4. 编译汇编代码
    我们使用 nasm 来汇编 boot.asm 生成操作系统的二进制代码。首先需要安装 nasm

    brew install nasm

    进入项目目录,并使用如下命令生成 boot.bin文件

    nasm boot.asm -o boot.bin

  5. 将编译后的代码写入软盘中
    使用如下命令,把 bin 文件(512 字节)写入 a.img 软盘中

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

    注意 boot.bin 和 a.img 文件必须在项目目录下

    dd-write-boot

  6. 配置启动信息

    找到bochs安装目录下的配置路径:/usr/local/Cellar/bochs/2.8/share/doc/bochsrc-sample.txt
    关于配置路径问题,标志就是找到bochsrc-sample.txt该文件。不同的电脑、不同的bochs版本可能会有区别。

    img

    拷贝 bochsrc-sample.txt 文件,并重命令为 bochsrc, 加入如下配置

    display_library: sdl2
    
    romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot
    
    vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
    
    mouse: enabled=0
    
    floppya: 1_44=a.img, status=inserted
    
    boot: floppy
    
    log: bochsout.txt
    
    logprefix: %t%e%d
    
    # memory: guest=512, host=256, block_size=512
    
  7. 启动bochs
    输入启动命令 bochs -f bochsrc

    img

    结果显示
    img

  8. 项目目录结构如下
    img

    项目地址

posted @ 2024-11-11 15:29  runningwater  阅读(0)  评论(0编辑  收藏  举报