[RabbitOS] VMWare Server+Bochs 构建 XP 下的 RabbitOS 开发环境
liu-wei
2008-06-23
本文专门为用 Windows 系统开发 RabbitOS 而又因系统资源有限不想开 X 的同志而写。当然,开发其他的 OS 也是可以的。假如用的是 Linux,那大可以略过本文。 1. 共享文件夹设置宿主机中建立 osdev_image 文件夹,并设置网络共享可写。 2. 虚拟机设置在虚拟机中,修改 /etc/fstab,虚拟机启动就自动挂载 osdev_image 到虚拟机中。
//HOSTIP/osdev_image /mnt cifs uid=500,guest 0 0 uid= 选项后面的数值请替换为你的用户的 uid,这样就可以直接用该用户去写挂载上的文件夹,guest 选项的作用是挂载时不用再提示输入密码。 这样虚拟机启动之后,宿主机中的 osdev_image 文件夹就会自动挂载到 /mnt 目录。之后可以用一个工具脚本把编译生成的 floppy.img 镜像文件拷贝到 /mnt 中,这个镜像就可以为宿主机中的 Bochs 所用了。 3. Bochs 的配置目前我用的 bochsrc 内容如下,供大家参考。
#32MB内存 megs: 32 #虚拟软盘 floppya: 1_44=f:/osdev_image/floppy.img, status=inserted boot: a #log文件 log: bochsout.txt mouse: enabled=0 #开启gdbstub,默认端口是1234 gdbstub: enabled=1 还有一个 run.bat 去启动虚拟机。
cd "d:\Bochs-2.3.6\ros" ..\bochs-gdbstub -q -f bochsrc.bxrc 启动用的 floppy.img 正是虚拟机中生成的 floppy.img。在一切正常的情况下运行 run.bat,成功后会在 Bochs for Windows - Console 窗口中显示:
Waiting for gdb connection on port 1234 这表示 Bochs 已经启动成功,下面就可以进行调试。 4. 在虚拟机中运行 gdb 运行调试在第 3 步成功之后,在虚拟机中运行
gdb kernel kernel 是编译生成的内核文件,也是放在 floppy.img 中的 kernel 文件。 进入 gdb 的界面之后,再执行如下的命令连接到远程的 Bochs
(gdb) target remote GWIP:1234 成功之后会出现
Remote debugging using GWIP:1234 下面按照一般的 gdb 调试程序的方法去做就可以了。
要注意的问题虚拟机的时间误差时间戳对于版本控制来说是一个很关键的信息,但是 VMWare 中虚拟机的时间一般来说比较难与宿主机完全同步,大家可以参照下面的文章去配置自己的虚拟机。 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1420 除了进行上面文章中的设置之外,更保险的方法是每过一段时间与国家授时中心的 NTP 服务器对时一次。我的 /etc/crontab 中加入了如下一行:
05 * * * * ntp 210.72.145.44 每 5 分钟对时一次。 |
|
crackcell
2008-06-23
精华+置顶。
好文 |
|
lin_llx
2008-06-24
很好,很好。。。不过我现在把我的工作转到linux下面了。自从我决定少玩游戏了。。
|