当前位置:   article > 正文

虚拟机上CentOS7配置Xv6系统+qemu的方法以及问题解决_centos7xv6

centos7xv6

1.缘起

        由于作者操作系统课程实验需要用到xv6系统,而老师仅仅提供了readme文件作参考。也是有兴趣把自己配置的过程,遇到的问题记下分享。

2.下载Xv6

2.1找到资源配置

prompt> git clone git://github.com/mit-pdos/xv6-public.git

        在虚拟机终端敲下以上代码,虚拟机会自动下载github上的开源xv6。但是可能会出现无法虚拟机联网了但是连接不上github的情况,所以我个人建议的方法是:

        从github上手动下载压缩包然后解压到本地再传到虚拟机的root目录(或者根目录)下。

2.2测试编译工具

prompt> objdump -i

        如果第二行出现elf32-i386 即可。

prompt> gcc -m32 -print-libgcc-file-name

        这会在屏幕打印一些类似于/usr/lib/gcc/i486-linux-gnu/version/libgcc.a

或者 /usr/lib/gcc/x86_64-linux-gnu/version/32/libgcc.a的东西。成功即可。

2.3编译xv6

        在解压的文件夹目录下进行“make”。

prompt> ./Xv6-master/make

        如果虚拟机没make需要进行安装。

        yum -y install make

        但是这里编译可能会遇到报错。作者遇到的终端显示权限的问题,于是将整个xv6的文件夹的权限全开了。(使用chmod命令)

        sudo chmod -R 777 filename(每个人都有读和写以及执行的权限)

        权限全开之后,make可以成功编译。

2.4安装qemu

prompt> sudo apt-get install qemu

                输入以上指令,为自动安装qemu。

2.5运行xv6

        在xv6的目录下输入 make qemu命令

prompt> ./Xv6-master/make qemu

        可能会遇到如下问题:

 GLib-WARNING **: 08:29:17.981: gmem.c:489: custom memory allocation vtable not supported
 Gtk-WARNING **: 08:29:18.010: cannot open display: 
导致qemu运行不起来。

        出现这个错误的原因是因为在 CentOS 7 中缺少了一些必要的图形显示库,导致无法显示图形界面。

        解决方法如下:

1.安装必要的图形显示库: 在终端中执行以下命令来安装必要的图形显示库:

sudo yum install xorg-x11-server-Xorg xorg-x11-xauth xorg-x11-apps

2.设置环境变量: 在终端中执行以下命令来设置环境变量,告诉系统使用 X11 显示:

export DISPLAY=:0

3.重新编译 Xv6: 在重新编译 Xv6 之前,可以尝试清理之前的编译文件,然后重新编译:

  1. make clean
  2. make

4.运行 Xv6: 最后,再次尝试运行 Xv6:

make qemu

        当看到一个简单的命令行提示符(prompt),这个提示符通常是一个 $ 或者 # 符号,表示系统已经启动并准备好接受命令。可以尝试输入 ls 或者 echo  命令 ,终端会给出响应,最后就可以运行啦!

 GLib-WARNING **: 08:32:50.860: gmem.c:489: custom memory allocation vtable not supported
        这个问题可能还会在屏幕上,但是这个报错是由 GLib(Gnome 库)产生的警告信息,通常不会影响 Xv6 操作系统的正常运行,因为 Xv6 并不依赖 GLib 库。这个警告表明 GLib 检测到了一些自定义的内存分配函数,但 GLib 不支持这种自定义内存分配函数。由于 Xv6 并不使用 GLib,这个警告信息可以被忽略。

3.优化

        由于环境变量DISPLAY的问题,每次开启xv6都要手动设置非常麻烦。因此可以考虑默认设置。

可以将 export DISPLAY=:0 命令添加到 shell 的配置文件中,例如 .bashrc 或 .bash_profile 文件,这样每次启动终端时,系统会自动加载这个配置文件,从而自动设置 DISPLAY 环境变量。

以下是具体的步骤:

  1. 打开终端,并编辑 .bashrc 文件(如果不存在则创建),可以使用 nano 或 vim 等文本编辑器进行编辑:

    nano ~/.bashrc
  2. 在文件末尾添加一行 export DISPLAY=:0,然后保存并关闭文件。

  3. 执行以下命令使配置文件生效:

    source ~/.bashrc

        现在,每次启动终端时,系统会自动设置 DISPLAY 环境变量为 :0,无需手动输入命令了。这样您就可以避免每次重启都要输入命令的麻烦了。

        因此只要在xv6目录下 直接make qemu即可打开xv6系统!

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/921448
推荐阅读
相关标签
  

闽ICP备14008679号