龙芯2f安装bochs和qemu虚拟机并成功启动freedos

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

在虚拟机中bochs可谓神器,不仅可以安装在x86架构的pc机系统上,还能安装在arm的安卓上,

甚至还可以安装在龙芯2f的电脑中,推测还可以安装在龙芯3a,3b的电脑中。

只是可惜它只模拟x86架构。。。。。。

真希望有那么一个类似于bochs的虚拟机,能够完整的模拟龙芯 2f,3a,3b 的cpu,和配套的

设备。这样,在开发龙芯系统的时候,将是非常方便的,你可以在x86电脑上或是龙芯电脑上,

打开龙芯模拟器,开发龙芯的软件,调试它。完成后,安装到真机中,直接就能运行了,真是方便。

在龙芯2f的电脑中,安装bochs虚拟机,曾尝试两种方式

一种是在逸珑8089a笔记本,通过sd扩展硬盘空间后,安装了debian8系统,在这个系统上,直接

通过 sudo  apt-get  install  bochs  命令来在线安装,安装是成功的,虚拟机可以运行。

另外一种是在灵珑一体机9s2a台式机,刘工的debian6系统上,通过将源更改为debian官方的软件源,

解决依赖问题的基础上,源码编译安装,也安装成功,并成功运行。

下面,就源码编译安装,进行记录说明。

1,到bochs网站下载软件

主页是:http://bochs.sourceforge.net/

下载页是:https://sourceforge.net/projects/bochs/files/bochs/

下载页面下有2.6.9文件夹,在这个文件夹下共有9个文件,

如果你是windows系统,请下载

        bochs-2.6.9-win64.zip                   文件或是

        bochs-p4-smp-2.6.9-win32.zip     或是

        Bochs-2.6.9.exe                           或是

        bochs-2.6.9-msvc-src.zip              源代码文件

如果你是Linux系统,请下载

        bochs-2.6.9-1.i586.rpm                 文件或是

        bochs-2.6.9-1.x86_64.rpm           或是

        bochs-2.6.9-1.src.rpm                  或是

        bochs-2.6.9.tar.gz                         源代码文件,龙芯2f下载这个文件

 另外还有一个README-bochs-2.6.9的文本文件,注意在windows系统下用记事本打开会有换行问题,

请用office打开。这个文件主要描述了2.6.9版本的变化方面概述。

2,在安装前,先提前安装编译工具和依赖库,在终端中进行

        sudo  apt-get  install  build-essential

解释:build-essential 是编译要用到的工具集,比如 gcc,g++等。

        sudo  apt-get  install  xorg-dev

解释:xorg-dev是X窗口系统的库。

        sudo  apt-get  install  libgtk2.0-dev

解释:libgtk2.0-dev是gtk库。

通过上面的三个命令安装,基本上就解决了依赖问题了。

3,正式开始编译安装,注意,使用bochs一般都要用到调试模式,

      请在 ./configure 后面加上参数

        tar  zxvf  bochs-2.6.9.tar.gz          解压源码包

        cd  bochs-2.6.9                             进入解压后的目录,源码在这个目录下

        ./configure  --enable-debugger    --enable-disasm        带参数配置

        make                                              进行编译

        sudo    make    install                   编译成功后进行安装

如果按照上面方式出现问题, 需要重新配置和编译,请如下进行

        make    clean                                 将 ./configure 的配置文件和编译的文件清除,或者

        make    distclean                          将所有文件包括编译好的安装包文件,编译文件,./configure

                                                               配置文件等等全部清除,这个distclean命令主要是针对

                                                               make  dist 命令后的使用。在本次使用中,发现无法使用

                                                               make  dist 命令,同样也无法使用 make  distclean 命令。

通过 make  clean 命令,可以回到原始的干净的源代码状态,避免再次编译时,发生意想不到的错误。

将原先编译的文件清除后,再重新执行 ./configure  --enable-debugger  --enable-disasm 命令,接着

再执行 make ,成功后再 make  install 进行安装。

安装完成后,在终端中尝试输入 bochs ,如果出现下面绿色字体所示,则代表bochs安装真正成功了

root@ecc101pxd:/home/ecc-101pxd/下载/bochs-2.6.9# bochs

====================================================================

                       Bochs x86 Emulator 2.6.9

               Built from SVN snapshot on April 9, 2017

                  Compiled on Sep 23 2018 at 11:53:19

====================================================================

00000000000i[      ] BXSHARE not set. using compile time default '/usr/local/share/bochs'

00000000000i[      ] reading configuration from .bochsrc

00000000000e[      ] .bochsrc:187: wrong value for parameter 'model'

00000000000p[      ] >>PANIC<< .bochsrc:187: cpu directive malformed.

00000000000e[SIM   ] notify called, but no bxevent_callback function is registered

00000000000e[SIM   ] notify called, but no bxevent_callback function is registered

===================================================================

Bochs is exiting with the following message:

[      ] .bochsrc:187: cpu directive malformed.

===================================================================

00000000000i[SIM   ] quit_sim called with exit code 1

4,应用尝试

https://sourceforge.net/projects/bochs/files/Disk images/ 页面下,有多个文件夹

如下截图所示:

 根据你的需要,到对应的文件夹下,下载相应的文件,我这里下载的是freedos,如下图所示

下载完成后,进入下载好的文件夹目录下,我将文件拷贝到了 study目录下,然后在终端中进入study目录

        cd  study                                         进入到study目录(注意,这个是我自己的目录)

        tar  zxvf  fdos-10meg.tar.gz           解压freedos文件包

        cd  fdos-10meg                               进入解压得到的freedos目录

        ls                                                      查看文件列表

显示解压后得到了三个文件,分别是:bochsrc.txt , fdosmini.img , README 这三个文件

注意,bochs虚拟机软件,需要配置 bochsrc文件来确定模拟的设备,没有这个文件,无法启动。

配置有问题,也无法启动。所以,发现启动有问题,赶紧去看配置文件。

        bochs  -f  bochsrc.txt                     启动bochs,打开freedos系统

这里请注意,bochs命令在使用时必须带有参数,直接输入 bochs  bochsrc.txt无法启动,必须带上 -f 参数

启动后,终端窗口就是调试窗口,新出现的窗口是虚拟机窗口,如下图,这是调试窗口:

刚开始启动时,由于我的bochs具有debug功能,所以启动时需要在调试窗口输入c 命令继续运行,才会

使得bochs虚拟机窗口继续向下运行。下面是bochs虚拟机窗口:

freedos成功启动了,输入debug 能够正常显示。 可以在龙芯2f电脑里,通过bochs使用intel x86汇编了。

5,逸珑8089A笔记本电脑,debian8系统下bochs有问题

我在逸珑8089a笔记本上,同样按照上面的 第 2 步先进行了开发工具和依赖库的安装后,成功安装了

bochs,可是在运行的时候,提示有 display:x 的问题,猜测应该是无法启动窗口。但是本人在灵珑

一体机上按照 上面的 1 - 4 步骤完全能够启动freedos虚拟窗口。估计还是有依赖没有解决。

尝试安装 gnome-devel ,最后成功解决,能够正常启动虚拟机窗口。

        sudo  apt-get  install  gnome-devel                如果此命令出现安装有问题,请尝试如下

        sudo  apt-get  install  gnome-devel  --fix-missing      此命令运行应该可以完成安装

安装成功后,启动bochs就正常了。

6,由于成功安装了bochs,想到能否尝试安装qemu呢

我在灵珑9s2a一体机和逸珑8089a笔记本上,尝试源码安装最新版的qemu-3.0,没有成功。

不过尝试在线安装却成了,一体机是debian6系统,安装了qemu-0.12

逸珑8089a笔记本,debian8系统,lxde桌面,安装了qemu-2.1

安装命令统一都是:

        sudo  apt-get  install  qemu

在逸珑8089a电脑上,尝试使用了一下qemu,利用bochs网站下载的现成的freedos的img镜像文件

在龙芯电脑上成功启动了bochs和qemu虚拟机软件,而且是在 龙芯2f 的电脑上,可惜龙芯2f 的cpu性能比较低,模拟freedos

没问题,不过想装个win98,winxp什么的,就力不从心了。

现在龙芯3a3000的性能已经相当不错了,想来利用虚拟机装个winxp耍耍应该是可以的。

在龙芯 2f 的逸珑笔记本上,用qemu安装了win95,如图:

使用逸珑笔记本的时候,流畅度是不爽的,不过用这个虚拟机中的win95时,流畅度跟用主机的速度感觉相差不太大。

如果用3a3000的cpu,估计流畅度会比较爽的。虚拟机的性能也会好很多。

猜你喜欢

转载自blog.csdn.net/v80/article/details/82826829