《一个64位操作系统的设计与实现》阅读笔记:centos7下bochs安装与环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ljt735029684/article/details/81272882

折腾了两天,才把这环境什么的弄好,跟运行第一个系统。中途出现问题贼多,在这里尽量回想总结。

具体步骤如下

环境:VMware下安装的centos7.3

安装bochs

0.输入命令安装以下几个库

  sudo yum install gtk2 gtk2-devel
  sudo yum install libXt libXt-devel
  sudo yum install libXpm libXpm-devel

1. 首先,先到https://sourceforge.net/projects/bochs/files/下载bochs-2.6.8

解压后进入文件夹

tar xzvf bochs-2.3.8.tar.gz
cd bochs-2.3.8

设置编译配置文件(这是作者的设置,可根据个人的不同自己设置。不过我是第一次装,所以还是跟着作者装)

./configure --with-x11 --with-wx --enable-debugger --enable-disasm --enable-all-optimizations --enable-readline --enable-long-phy-address --enable-ltdl-install --enable-idle-hack --enable-plugins --enable-a20-pin --enable-x86-64 --enable-smp --enable-cpu-level=6 --enable-large-ramfile --enable-repeat-speedups --enable-fast-function-calls  --enable-handlers-chaining  --enable-trace-linking --enable-configurable-msrs --enable-show-ips --enable-cpp --enable-debugger-gui --enable-iodebug --enable-logging --enable-assert-checks --enable-fpu --enable-vmx=2 --enable-svm --enable-3dnow --enable-alignment-check  --enable-monitor-mwait --enable-avx  --enable-evex --enable-x86-debugger --enable-pci --enable-usb --enable-voodoo

最后编译安装

make
sudo make install

 

如果没有出现错误,那么恭喜你,你是幸运的,你已经成功安装,但是我们经常会遇到错误

错误1:

如果遇到的是这种Permission denied(没有权限)的错误,请使用su root更换成root权限

错误2:

如果遇到的是这种,原因是没有.cc文件,所以把.cpp文件拷贝一份成.cc文件

cp misc/bximage.cpp misc/bximage.cc
cp iodev/hdimage/hdimage.cpp iodev/hdimage/hdimage.cc
cp iodev/hdimage/vmware3.cpp iodev/hdimage/vmware3.cc
cp iodev/hdimage/vmware4.cpp iodev/hdimage/vmware4.cc
cp iodev/hdimage/vpc-img.cpp iodev/hdimage/vpc-img.cc
cp iodev/hdimage/vbox.cpp iodev/hdimage/vbox.cc

错误3:

这个错误我没有解决,估计是缺少什么库,知道解决方法的请在评论区告诉我,非常感谢

我的解决方法是。。重头开始重装,从解压到编译

以上解决方法感谢这篇博客https://www.linuxidc.com/Linux/2016-10/135905.htm,更感谢本书作者田大侠的解决方案

bochs的运行配置文件。命名为brochsrc文件,大家可以在默认文件.brochsrc文件的基础上自行修改

以下是作者田大侠的brochsrc文件配置

# configuration file generated by Bochs
plugin_ctrl: unmapped=1, biosdev=1, speaker=1, extfpuirq=1, parallel=1, serial=1, iodebug=1
config_interface: textconfig
display_library: x
#memory: host=2048, guest=2048
romimage: file="/usr/local/share/bochs/BIOS-bochs-latest"
vgaromimage: file="/usr/local/share/bochs/VGABIOS-lgpl-latest"
boot: floppy
floppy_bootsig_check: disabled=0
floppya: type=1_44, 1_44="boot.img", status=inserted, write_protected=0
# no floppyb
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=none
ata0-slave: type=none
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata1-master: type=none
ata1-slave: type=none
ata2: enabled=0
ata3: enabled=0
pci: enabled=1, chipset=i440fx
vga: extension=vbe, update_freq=5

cpu: count=1:1:1, ips=4000000, quantum=16, model=corei7_haswell_4770, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0, msrs="msrs.def"

cpuid: x86_64=1,level=6, mmx=1, sep=1, simd=avx512, aes=1, movbe=1, xsave=1,apic=x2apic,sha=1,movbe=1,adx=1,xsaveopt=1,avx_f16c=1,avx_fma=1,bmi=bmi2,1g_pages=1,pcid=1,fsgsbase=1,smep=1,smap=1,mwait=1,vmx=1
cpuid: family=6, model=0x1a, stepping=5, vendor_string="GenuineIntel", brand_string="Intel(R) Core(TM) i7-4770 CPU (Haswell)"

print_timestamps: enabled=0
debugger_log: -
magic_break: enabled=0
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
# no loader
log: -
logprefix: %t%e%d
debug: action=ignore
info: action=report
error: action=report
panic: action=ask
keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none
mouse: type=ps2, enabled=0, toggle=ctrl+mbutton
speaker: enabled=1, mode=system
parport1: enabled=1, file=none
parport2: enabled=0
com1: enabled=1, mode=null
com2: enabled=0
com3: enabled=0
com4: enabled=0

megs: 2048

猜你喜欢

转载自blog.csdn.net/ljt735029684/article/details/81272882