记录一下在安装和配置运行bochs的过程中遇见的问题,以及解决办法。
安装环境
- ubuntu 16.04
- bochs 2.6.9
问题及解决办法
1.gui/libgui.a(x.o): undefined reference to symbol 'XSetForeground'
解决:控制台下输入sudo apt-get install xorg-dev
2.X11/Xlib.h: No such file or directory
解决:控制台下输入sudo apt-get install libx11-dev
3.>>PANIC<< bochsrc.txt:13: keyboard directive malformed.
解决:在配置文件 bochsrc.txt 中,设置keyboard: keymap=/home/mrsiz/bochs/share/bochs/keymaps/x11-pc-de.map
4.>>PANIC<< bochsrc.txt:17: Bochs is not compiled with gdbstub support
解决:在最开始用.configure
生成MakeFile配置文件的时候,如果没有添加gdb远程调试那个选项,但是又在配置文件中开启了远程调试这个功能,就会报这个错,直接注释掉配置文件中的gdbstub
那一行
5.连接时出现了没找到引用的情况undefined reference
解决:在MakeFile文件中,修改LIBS = -lX11 -lXtst -lpthread
,一般只加这几个需要链接的库就行
6.出现权限问题,比如不能写
解决:这个问题的出现是因为bochs这个文件夹是root级别的,当用普通用户权限运行./bochs的时候,因为权限不够就会造成这个问题,所以只要加上sudo就行。
7.启动盘的创建,在运行bochs的时候,需要有启动盘
解决:执行./bximage
,差不多可以一路回车,也可以按照提示做简单的自定义修改
总结
因为上面出现的问题都是我在解决之后,回过头来写的,所以可能在配置bochs过程中还有其他问题,因为忘记了,所以没有记录下来。在看了网上的相关配置之后,差不多是copy加上略微修改得到一份配置文件 bochsrc.txt,放在/bin/目录下,运行./bochs的时候会直接读这个配置文件。内容如下:
1 | megs: 32 |
因为重点是搭建好一个可编译运行linux内核的环境,所以对于在使用bochs中所遇到的问题,采取的方针是:能正常运行就好。