笔者写了一个简单的快速生成bochsrc配置文件的脚本,只需要提供启动硬盘所在的位置即可:
#!/bin/bash# 检查Bochs是否安装
bochs_path=$(which bochs)# 如果没有找到Bochs,提示用户安装
if [ -z "$bochs_path" ]; thenecho "Bochs未安装!请先安装Bochs。"exit 1
fi# 获取Bochs的安装共享目录路径
bochs_share_path=$(dirname $(dirname "$bochs_path"))/share/bochs# 如果Bochs的共享目录不存在,提示用户检查安装问题
if [ ! -d "$bochs_share_path" ]; thenecho "Bochs安装似乎有问题!请检查$bochs_share_path。"exit 1
fi# 提示用户输入硬盘路径
read -p "请输入硬盘路径: " disk_path# 生成Bochs配置文件(bochsrc)
cat <<EOF > bochsrc
# My Configure in Bochs# 设置可用的RAM大小,这里设置为32MB
megs: 32# 设置BIOS和VGA BIOS的路径
romimage: file=$bochs_share_path/BIOS-bochs-latest
vgaromimage: file=$bochs_share_path/VGABIOS-lgpl-latest# 设置启动方式为硬盘启动
boot: disk
# 设置日志文件路径
log: bochs.log.out# 配置更多的IO设备,禁用鼠标
mouse: enabled=0
# 设置键盘的键位映射文件
keyboard: keymap=$bochs_share_path/keymaps/x11-pc-us.map# 配置硬盘(ATA)相关信息
# 设置ATA接口0,启用硬盘,配置I/O地址和中断请求线(IRQ)
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
# 设置主硬盘的路径为用户输入的路径,并且以平坦模式(flat)加载
ata0-master: type=disk, path="$disk_path", mode=flat# 配置GDB调试支持(注释掉,表示不启用)
# gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0
EOF# 输出提示,告诉用户配置文件生成完毕
echo "配置文件已生成:bochsrc"