xv6 + Qemu 在Ubuntu下编译运行教程

xv6 + Qemu 在Ubuntu下编译运行教程一、使用工具说明1.xv6源代码文件(以下三选一)1)http://download.csdn.net/detail/yinglang19941010/9201421(我使用的是这个,怕出错的同学

一、使用工具说明

1.       xv6 源代码文件(以下三选一)

1)http://download.csdn.net/detail/yinglang19941010/9201421 (我使用的是这个,怕出错的同学可以下这个)

2)https://github.com/yinglang/Xv6  或

3)http://zoo.cs.yale.edu/classes/cs422/2011/lec/l2-hw 

2.       Qemu 源代码下载(可以选择不下,要下的话二选一)

1)http://download.csdn.net/detail/yinglang19941010/9201427(我是用的是这个,怕出错的同学可以下这个)

2)http://wiki.qemu.org/Download 我选择的是qemu-2.4.0.1.tar.gz

3.       VMware10.0+ linux 编译环境:(也可以不选择装虚拟机)

我是用的是ubuntukylin-14.04-desktop-i386,应该其他版本的也可以。

但建议选32bit的Ubuntu。

4.    联网(这个是必须,建议在编译前测试一下能不能联网)。

 

      xv6 + Qemu 在Ubuntu下编译运行教程

 

二、 xv6 编译

1.    解压xv6-master 和 qemu-2.4.0.1.tar.bz2 ,可以使用命令解压,也可用Ubuntukylin提供的可视化解压软件(双击压缩包就能打开)

    选择extract

 

     xv6 + Qemu 在Ubuntu下编译运行教程 xv6 + Qemu 在Ubuntu下编译运行教程 

       2.    hui@ubuntu:~/Desktop/xv6$cd Xv6-master

       3.    hui@ubuntu:~/Desktop/xv6/Xv6-master$make

xv6 + Qemu 在Ubuntu下编译运行教程

 

              出现如下结果表示编译成功

      

 xv6 + Qemu 在Ubuntu下编译运行教程

三、编译安装qemu

安装qemu有两种方法:(二选一即可)

大笑方法一 : 使用apt-get 安装,不需要下载qemu源代码,较为简单,几乎不出错。

大哭方法二 : 使用源代码进行编译,要先下载源代码,难度较大,出错率高。

下面对两种方法的操作进行详细说明:

方法一 :(不手动表编译,直接利用apt安装运行)

1.     hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install qemu

如果出现以下错误

             xv6 + Qemu 在Ubuntu下编译运行教程

说明可用于linux下载的apt的包列表很久没有更新了,使用

              hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get update

             

如果出现了failed to fetch的错误提示,说明apt-get的网站访问不到了。

可以使用 source.list 替换掉/ect/apt/source.list (注意要用root权限

sudo mv source.list /ect/apt/source.list)。该文件的网站在2015内应是可以访问的

如果提示如下,则更新成功

 xv6 + Qemu 在Ubuntu下编译运行教程

这是再输入

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install qemu

 

2.     hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$qemu-system-i386

如果弹出qemu的虚拟机,则证明虚拟机qemu安装成功(由于没有装xv6所以QEMU提示Boot failed)

 

  xv6 + Qemu 在Ubuntu下编译运行教程

      

 方法二:(手动编译源码运行, 如果已经使用了方法一,这步可跳过)

       1.    解压

       2.    cd ../qemu-2.4.0.1

       3.    ./configure –disable-kvm –target-list=”i386-softmmux86_64-softmmu”

              报错如下:

xv6 + Qemu 在Ubuntu下编译运行教程

              解决:

1)   第一个是警告,提示没有c++编译器,c++部分的代码将无法编译

解决是安装g++编译器,注意这个虽然是警告,但是如果不装的话,后面会报错,敲入命令

sudo apt-get install g++

2)   第二个是错误,没有zlib包

解决是安装zlib

先查找zlib

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-cache search zlib   

 xv6 + Qemu 在Ubuntu下编译运行教程

红圈中圈出的是我认为可能的package(要问我为什么,首先名字很像,其次他们是library,而编译报错很多时候都是缺少lib)

最后发现是zlib1g-dev (dev表示development开发包,很多时候编译报错都是要装这种package),还有就是猜的:) )

在命令行中敲入以下命令安装:

              hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install zlib1g-dev

4.       在命令行中再次敲入

./configure –disable-kvm–target-list=”i386-softmmu x86_64-softmmu”

如果报错

xv6 + Qemu 在Ubuntu下编译运行教程

同样先搜索

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-cache search glib   

 

xv6 + Qemu 在Ubuntu下编译运行教程

  同样有依据的猜到了是libglib2.0-dev,敲入命令安装

       hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install libglib2.0-dev

5.       最后再敲一次

./configure –disable-kvm –target-list=”i386-softmmux86_64-softmmu”

xv6 + Qemu 在Ubuntu下编译运行教程

              以上提示表示该命令成功(因为我还没有装g++,所以c++ compiler是空,这样后面是会报错的)

      

6.       配置完成后,敲入

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$  make&& make install

如果发现报错

xv6 + Qemu 在Ubuntu下编译运行教程

没有autoreconf,安装autoreconf

先查找

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-cache search autoreconf

       xv6 + Qemu 在Ubuntu下编译运行教程

这两个都装上,敲入命令安装

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get install dh-autoreconf

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get install autoconf2.13

再次输入

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$  make&& make install

 

如果还报错

xv6 + Qemu 在Ubuntu下编译运行教程

这很可能是没有装过g++ 而进行的编译,敲入

sudo apt-get install g++

再重新编译,删除qemu-2.4.0.1,重新解压,重启命令行,输入

./configure –disable-kvm –target-list=”i386-softmmux86_64-softmmu”

make&& make install

              一般到这一步就行了

       xv6 + Qemu 在Ubuntu下编译运行教程

7.       hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$qemu-system-i386

如果弹出qemu的虚拟机,则证明虚拟机qemu安装成功(由于没有装xv6所以QEMU提示Boot failed

 xv6 + Qemu 在Ubuntu下编译运行教程


四、运行xv6

切换到xv6源代码的目录

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$cd ../Xv6-master

hui@ubuntu:~/Desktop/xv6/Xv6-master$make qemu

发现报错如下:

xv6 + Qemu 在Ubuntu下编译运行教程

原因:这是因为在make(编译)的时候变量QEMu没有指定,我们来手动指定QEMU的位置。

解决:首先找到目录Xv6-master(源代码)下的文件MakeFile (这个文件可以看成是linux下对工程源码进行编译的配置文件,

类似于windows下Visual Studio的.sln之类的文件)

       xv6 + Qemu 在Ubuntu下编译运行教程

       修改红圈中的内容为

       xv6 + Qemu 在Ubuntu下编译运行教程

 

再次

hui@ubuntu:~/Desktop/xv6/Xv6-master$make qemu

 xv6 + Qemu 在Ubuntu下编译运行教程

运行成功

输入ls 可以参见里面的所有命令文件,输入命令测试看看吧

 

五、总结

       其实如果环境lib都装了的话,也就以下几个命令

       编译xv6

       hui@ubuntu:~/Desktop/xv6$ cd Xv6-master

       hui@ubuntu:~/Desktop/xv6/Xv6-master$ make

       编译安装qemu

       hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get install qemu

       或者

       hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ cd ../qemu-2.4.0.1

       hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$./configure –disable-kvm–target-list=”i386-softmmu x86_64-softmmu”

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$  make&& make install

运行xv6

hui@ubuntu:~/Desktop/xv6/qemu-2.4.0.1$ cd ../Xv6-master

hui@ubuntu:~/Desktop/xv6/Xv6-master$ make qemu


六、参考资料:

http://zoo.cs.yale.edu/classes/cs422/2011/lec/l2-hw

 https://pdos.csail.mit.edu/6.828/2012/xv6.html

今天的文章xv6 + Qemu 在Ubuntu下编译运行教程分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65971.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注