2018/11/29 一个64位操作系统的设计与实现(环境配置)

news/2024/7/24 4:59:36 标签: 操作系统, 运维

网上的安装的博客总是有问题
操作系统的环境: Centos7

bochs: bochs-2.6.9

sudo su 获得root权限.

提前安装的软件有:

1 sudo yum install gtk2 gtk2-devel
2 sudo yum install libXt libXt-devel
3 sudo yum install libXpm libXpm-devel
4 sudo yum install glibc-headers
5 sudo yum install gcc-c++ 

从 https://sourceforge.net/projects/bochs/files/ 上下载bochs-2.6.9.tar.gz

解压.tar.gz文件.

cd bochs-2.6.9/

在命令行中输入:

./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

vi .bochsrc

将书本提供的bochsrc的内容替换.bochsrc的内容

# 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

 

程序有些错误, 执行一下的命令, 防止后续出现错误.

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

 

开始安装:

make

make install

成功完成安装

 

最后:

使用./bximage 或 ./bochs
运行程序.

直接在命令行中输入bximage或者是bochs是无法执行的.

其他博客中提到的运行bximage的方法, 试过都有问题, 可能是他使用的操作系统是Ubuntu的原因.

 

转载于:https://www.cnblogs.com/huangZ-H/p/10037674.html


http://www.niftyadmin.cn/n/1359841.html

相关文章

HTML实例—以一个简单网页为例

HTML实例 1、原型与实例对比 &#xff08;1&#xff09;原型 &#xff08;2&#xff09;实例 2、详情 2.1 布局总览 2.2 布局分述 &#xff08;1&#xff09;标题搜索 分两块内容&#xff0c;用<span> span1:文字&#xff1a;gsonya-HTML span2:输入框按钮 &#…

极度简易的抽奖、随机选择小工具

//开始按钮private void btnCheckFiles_Click(object sender, EventArgs e){this.timer1.Enabled true; //定时器开始运行this.timer1.Interval 200; //定时器每次运行间隔时间}//解析文件&#xff0c;存入List中int i 0;public string returnName(){//string haarXml…

CSS实例—以一个简单网页为例

CSS实例 一、整体布局 二、总览 三、详述 3.1 header 3.1.1 title 内容&#xff1a;gsonya-CSS 3.1.2 search &#xff08;1&#xff09;input type&#xff1a;search&#xff1b; 动画效果&#xff1a;-webkit-transition:width 0.4s ease-in-out&#xff1b; 聚焦&…

2、利用继承减少代码冗余

继承解决的是类与类之间的代码冗余问题&#xff0c;一定是一个类是另外一个类的子类 继承关系的查找 总结对象之间的相似之处得到类&#xff0c;总结类与类之间的相似之处就得到了类们的父类 class OldboyPeople:schoolOldboyclass OldboyStudent(OldboyPeople):def __init__(s…

web-CSS学习笔记

css学习笔记 一、align 知识点&#xff1a;div块的居中、文本内容的水平垂直居中 1.1 div块的居中 margin:auto; 1.2 文本内容的水平垂直居中 <!-- 第一块文本 --> <div id"center1">padding和text-align设置的水平垂直居中</div>#center1{paddi…

关于javascript闭包(Closure)和return之间的暧昧关系

什么是闭包&#xff1f;阮一峰老师说的很清楚了&#xff0c;定义在一个函数内部的函数&#xff0c;在本质上&#xff0c;闭包就是将函数内部和函数外部连接起来的一座桥梁。 首先要了解Javascript的变量作用域&#xff1a;全局变量和局部变量。全局嘛&#xff0c;就是共享&…

BZOJ 3675 [Apio2014]序列分割 (斜率优化DP)

洛谷传送门 题目大意&#xff1a;让你把序列切割k次&#xff0c;每次切割你能获得 这一整块两侧数字和的乘积 的分数&#xff0c;求最大的分数并输出切割方案 神题 搞了半天也没有想到切割顺序竟然和答案无关...我太弱了 证明很简单&#xff0c;就是乘法分配律&#xff0c;把式…

Python中使用面状矢量裁剪栅格影像,并依据Value值更改矢量属性

本文整体思路&#xff1a;在Python中使用Geopandas库&#xff0c;依次读取shp文件的每一个面状要素&#xff0c;获取其空间边界信息并裁剪对应的栅格影像&#xff0c;计算所裁剪影像Value值的众数&#xff0c;将其设置为对应面状要素的NewTYPE值&#xff0c;所有要素属性值都改…