Samael

bochs配置

起因

现在做操作系统的毕业设计,把 之前把«30天自制操作系统»的书做了一下, 发现还是有缺点:

  1. 开发工具都是作者自己开发或者修改(比如nask)的. 本来想干脆再移植到开源的的开发工具上, 但是毕业设计的任务是做一个操作系统, 费力去做移植还是比较花费时间的.

  2. 因为要用egypt之类的代码分析软件, 作者的cc1是在比较老的gcc上修改而来的,可能又不兼容.

  3. 虽然是自己照着书做了一遍,但是还是有些不清楚的地方,所以开始看«orange’s 一个操作系统实现», 并尝试自己去修改.

在配置环境下遇到问题

在配置bochs上能遇到的问题我几乎差不多都遇到,以至于ubuntu的桌面环境崩溃了. 但是在修复和配置中能学到不到知识和工具:

  1. 没有按书的上bochs版本去编译,以至libgtk不兼容. 强制降级导致桌面环境进不去, 循环在登录界面中, 用apt-get去解决依赖包的问题很困难, 这时可以用aptituede去解决.

  2. 桌面问题修复之后, 用比较新的版本还是不能make. 只能用作者的老版本,具体原因不清楚.

  3. 在运行configure配置文件时, 已经安装上的xorg-dev一直不能从网上了解需要把连接的库直接加在configure后,并在Makefile中把相应的行删去.

  4. 在make时, 编译不过, 是因为编译器不兼容, 需要把对应的源代码进行修改.

  5. 安装完成后, 按照书上的bochsrc配置不能成功模拟. 因为biosrom vgarom keymap 的目录位置不一样. 可以用find去查找.

在我的电脑上的配置文件为:

# how much memory the emulated machine will have

megs: 32

# filename of ROM images

romimage: file=/usr/local/share/bochs/BIOS-bochs-latest #这里

vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest #这里

# what disk images will be used

floppya: 1_44=a.img, status=inserted

# choose the boot disk.

boot: floppy

# where do we send log messages?

log: bochsout.txt

# disable the mouse

mouse: enabled=0

# enable key mapping, using US layout as default.

keyboard_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map #这里

参考解决方法的网址

xorg的问题

编译器与对应rom的问题

在配置中的插曲

在修复崩溃系统时发现随着系统的升级,多余的内核被留了下来, 一个一个删除显然很累, 可以用以下命令删除多余的内核

sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)

相应的头文件也是类似这个方法


Share this: