由于下学期要学习操作系统课程,近日阅读《操作系统真象还原》以求提前熟悉。顺便记录一下遇见的问题和解决方法。
由于怕出错,根据书上教程使用virtualBox, CentOs系统,bochs。
目录
1. 下载VirtualBox以及Centos镜像
VirtualBox下载链接:点击这里
选择Windows Hosts即可。(我猜选择其它平台的也不太需要看我这篇文章)因此我的VirtualBox版本是7.0.18
接着下载Centos,我随便找了一下阿里云的镜像,给出链接:点击这里
选择这个进行下载:
下载过程较长,我好像用了两三个小时,大家尽量在空闲时候干这事。
2. 在VirtualBox上创建虚拟机
接着是在VirtualBox上创建虚拟机。我当时找了网上的链接进行参考,如下:点击这里
但是总是报错,“不能覆盖虚拟机文件夹”。用管理员身份启动后避免了这个报错。过程如下:
点击左上角控制 -》新建,自己命名一下,选一个你找得到位置的文件夹,然后下一步。
这都是默认配置,我没改,点击下一步。
默认20GB,我选择了15GB,酌情分配即可。
下一步点击完成即可。
3. 对于虚拟机的配置
接下来我们在centos存储设置中配置一下我们已经下载好了的ios文件。
右键点击图中圈出的红色区域,选择设置。
如图所示,选择该文件。
此外按照网上说法,在系统中启动顺利里,把光驱放在最上面。如下图:
此外在网络中,网卡一选择了仅主机网络,网卡二选择了网络地址转换,如下图:
4. 启动Centos后的配置
直接点击右上角那个绿色的启动,界面跳出来后按回车键开始自动安装。
语言我选的英文,也可以选择中文。
Date&Time选择了上海:选择后Done即可。
在Language Support里选择中文:
在SOFTWARE SELECTION这里选择GNOME Desktop,出现图形化界面/
在下面的Installation destination里面选择LocalStandard DIsks里面这个:
在NetWork & Host name这里将两个都打开
最后Begin installation。需要设置一下root账号密码和普通用户。建议root密码不要设置太复杂,因为以后要反复输入。可以试试经典的123456。
安装好后重启一下:
接着选择rebot重启。
进入许可证,同意。
输入密码,sign in。
还有一点联网的事不想写了,其实我这也大部分参照网上的。在此附上一个链接,万分感谢,我要开始安装bochs了:
VirtualBox安装CentOS 7教程(超详细)_virtualbox安装centos7-优快云博客
5. 安装bochs
我选的bochs还是2.6.2版本的,命令:
wget https://jaist.dl.sourceforge.net/project/bochs/bochs/2.6.2/bochs-2.6.2.tar.gz
tar -xvzf bochs-2.6.2.tar.gz
下载了两三次成功的。然后就是环境配置,参考链接:点击这里
然后进入解压后的bochs-2.6.2;输入如下命令:其中/home/path/bochs要对应你自己的文件位置,可以参考下面我的输入。
./configure \
--prefix=/home/path/bochs \
--enable-debugger \
--enable-disasm \
--enable-iodebug \
--enable-x86-debugger \
--with-x \
--with-x11
然后接着Make和make install了。
BTW遇见的一些问题:
1. 第二天安装Bochs时候发现VirtualBox不能正常打开,如图所示:虚拟机显示异常退出
本人先尝试了一下网上说的禁用Hyper-v,但是没效果。
虚拟机无法启动,VirtualBox:E_FAIL( 0x80004005)_虚拟机0x80004005-优快云博客
最后暴力卸载VIrtualBox和相关文件,重新下载了。
2. 在安装bochs时候因为配置需要一些环境,yum出错了,报错如下:
顺带一提这不是最原始的报错,最开始的报错头顶还有这两行:
Loaded plugins:fastestmirror, langpacks.
Loading mirror speeds from cached hostfile
应该是在我对/etc/yum.conf和 /etc/yum/pluginconf.d/fastestmirror.conf进行修改后的样子,修改参考链接:点击这里
最后是参考这篇链接之后发现yum makecache命令的输出不一样了:
因为我当时东参考西参考好像还改过/etc/resolv.conf文件,无法控制变量给出正确的操作。
3. make时候出错
部分报错如下:
经过询问gpt(因为我实在网上没找到相应的参考)发现是库里少了lpthread。
然后通过ls发现Makefile,vim Makefile进去,在LIBS=一行末尾加上-lpthread。如下图:
重新make,没有报错。然后make install。
好累啊,特别是其中的很多报错因为版本问题导致很多网上的参考都没有用了。中途一度崩溃,唉,希望我能坚持一下把这个操作系统弄完吧。分享一下过程和心得,希望能对别人起到一些作用。