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

转自:https://blog.csdn.net/yinglang19941010/article/details/49310111

如果想要离线看教程,可以下载该 文档

一、使用工具说明

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 编译

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

选择extract

2.    [email protected]:~/Desktop/xv6$cd Xv6-master

3.    [email protected]:~/Desktop/xv6/Xv6-master$make

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

三、编译安装qemu

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

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

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

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

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

1.     [email protected]:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install qemu

如果出现以下错误

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

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get update

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

32bit Ubuntu可以使用 该32bitsource.list 替换掉/etc/apt/sources.list

64bit Ubuntu可以使用 该64bitsource.list 替换掉/etc/apt/sources.list

(注意要用root权限

sudo mv ./sources.list /etc/apt/sources.list

下面这几步可以对文件 解锁(lock),最好用一下

cd /etc/apt/sources.list

sudo mv ./sources.list ./source.list

sudo mv ./source.list ./sources.list

)。该文件的网站在2015内应是可以访问的

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

这是再输入

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install qemu

2.     [email protected]:~/Desktop/xv6/qemu-2.4.0.1$qemu-system-i386

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

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

1.    解压

2.    cd ../qemu-2.4.0.1

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

报错如下:

解决:

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

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

sudo apt-get install g++

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

解决是安装zlib

先查找zlib

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-cache search zlib

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

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

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

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install zlib1g-dev

4.       在命令行中再次敲入

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

如果报错

同样先搜索

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-cache search glib

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

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$sudo apt-get install libglib2.0-dev

5.       最后再敲一次

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

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

6.       配置完成后,敲入

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$  make&& make install

如果发现报错

没有autoreconf,安装autoreconf

先查找

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-cache search autoreconf

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

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get install dh-autoreconf

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get install autoconf2.13

再次输入

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$  make&& make install

如果还报错

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

sudo apt-get install g++

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

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

make&& make install

一般到这一步就行了

7.       [email protected]:~/Desktop/xv6/qemu-2.4.0.1$qemu-system-i386

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

四、运行xv6

切换到xv6源代码的目录

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$cd ../Xv6-master

[email protected]:~/Desktop/xv6/Xv6-master$make qemu

发现报错如下:

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

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

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

修改红圈中的内容为

再次

[email protected]:~/Desktop/xv6/Xv6-master$make qemu

运行成功

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

五、总结

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

编译xv6

[email protected]:~/Desktop/xv6$ cd Xv6-master

[email protected]:~/Desktop/xv6/Xv6-master$ make

编译安装qemu

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ sudo apt-get install qemu

或者

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ cd ../qemu-2.4.0.1

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$./configure --disable-kvm--target-list="i386-softmmu x86_64-softmmu"

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$  make&& make install

运行xv6

[email protected]:~/Desktop/xv6/qemu-2.4.0.1$ cd ../Xv6-master

[email protected]:~/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
---------------------
作者:吃熊的鱼
来源:CSDN
原文:https://blog.csdn.net/yinglang19941010/article/details/49310111
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/sky-heaven/p/10333146.html

时间: 2024-10-10 17:13:16

xv6 + Qemu 在Ubuntu下编译运行教程【转】的相关文章

《Swift入门》ubuntu下编译运行Swift开发的Web后端示例

这里只是演示如何在ubuntu下编译运行Swift开发的Web后端项目. 项目代码来自Bluemix上提供的示例代码,如果你有账号,可以去自己的空间下载,没有的话,可以通过下面的地址下载: http://download.csdn.net/detail/testcs_dn/9513395 编译环境安装配置请参考:Ubuntu 14 server安装Swift运行环境 环境配置好之后,将下载的示例代码解压出来: 主要代码是"main.swift",内容如下: /** * Copyrigh

Ubuntu下编译运行Kamailio

Kamailio是一个开源的SIP服务器,原名OpenSER Ubuntu版本是:10.04.4 [ 编译前准备] 编译前,需要安装下面的软件 sudo apt-get install gcc sudo apt-get install flex sudo apt-get install bison sudo apt-get install libmysqlclient15-dev sudo apt-get install make sudo apt-get install libcurl4-op

Ubuntu下编译安装QEMU

Ubuntu下编译安装QEMU 由于环境需求,今天在ubuntu14.04的环境下手动编译安装了QEMU2.1.2. QEMU下载地址:http://wiki.qemu-project.org/download/qemu-2.1.2.tar.bz2 具体下载及解压步骤这里就不在赘述了,主要就是说下环境准备的一些依赖包,编译QEMU最重要的就是gcc,所以我们要先把gcc安装上. [email protected]:~# apt-get install gcc-3.4 cpp-3.4 安装QEMU

ubuntu下编译java程序

ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } 编译: javac HelloWorld.java 此时会在当前文件夹生成 HelloWorld.class

Ubuntu下编译3.0.4内核

Ubuntu下编译3.0.4内核 Linux内核3.0版本发布已有一段时间了,不知道这个版本号大跃进的内核是否好用.目前各个发行版的linux还仍未采用3.0的内核,因此可以自己动手编译内核来感受一下!趁着这次编译内核的机会可以再熟悉一下编译内核的步骤. 1.下载并解压内核到任意目录 从源码官网下载最新的内核源码3.0.4,可以解压至任意目录,我放在主目录下: 1 ~$ tar xjvf linux-3.0.4.tar.bz2 2.配置内核 对内核进行配置是为了得到内核配置文件.config.通

Ubuntu下编译Android JNI实例全过程

第一步:保证make和gcc可用 在shell中输入make-v,不报错就是对的.(可参考http://wenku.baidu.com/view/d87586c24028915f804dc24a.html.) 在shell中输入gcc-v,不报错就是对的. 第二步:安装NDK 下载NDK后,设置环境变量: 将android-ndk的路劲加到环境变量PATH中:sudogedit /etc/environment 然后再让这个更改的环境变量立即生效:source /etc/environment

在Ubuntu下配置运行Hadoop2.4.0单节点配置

还没有修改hosts,请先按前文修改. 还没安装java的,请按照前文配置. (1)增加用户并设立公钥: sudo addgroup hadoop sudo adduser --ingroup hadoop hduser su - hduser cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys ssh localhost exit   (2)把编译完的hadoop复制到/usr/local目录,并修改目录权限 cp –r /root

ubuntu下编译VLC源码

http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 5761人阅读 评论(0) 收藏 举报VLC 操作系统选择:http://old-releases.ubuntu.com/releases/14.04.0/ubuntu-14.04-desktop-amd64.iso sudo apt-get install已经安装了freescale的i.MX6Q的a

在linux环境下编译运行OpenCV程序的两种方法

原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之后,我下面就介绍Command Line和CMake两种方式. 首先我先粘上我测试的代码吧,文件名为Test.c 1 #include <highgui.h> 2 3 int main(int argc,char ** argv) { 4 5 IplImage* img = cvLoadImage