赞
踩
由于作者操作系统课程实验需要用到xv6系统,而老师仅仅提供了readme文件作参考。也是有兴趣把自己配置的过程,遇到的问题记下分享。
prompt> git clone git://github.com/mit-pdos/xv6-public.git
在虚拟机终端敲下以上代码,虚拟机会自动下载github上的开源xv6。但是可能会出现无法虚拟机联网了但是连接不上github的情况,所以我个人建议的方法是:
从github上手动下载压缩包然后解压到本地再传到虚拟机的root目录(或者根目录)下。
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的东西。成功即可。
在解压的文件夹目录下进行“make”。
prompt> ./Xv6-master/make
如果虚拟机没make需要进行安装。
yum -y install make
但是这里编译可能会遇到报错。作者遇到的终端显示权限的问题,于是将整个xv6的文件夹的权限全开了。(使用chmod命令)
sudo chmod -R 777 filename(每个人都有读和写以及执行的权限)
权限全开之后,make可以成功编译。
prompt> sudo apt-get install qemu
输入以上指令,为自动安装qemu。
在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 之前,可以尝试清理之前的编译文件,然后重新编译:
- make clean
- 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,这个警告信息可以被忽略。
由于环境变量DISPLAY的问题,每次开启xv6都要手动设置非常麻烦。因此可以考虑默认设置。
可以将 export DISPLAY=:0
命令添加到 shell 的配置文件中,例如 .bashrc
或 .bash_profile
文件,这样每次启动终端时,系统会自动加载这个配置文件,从而自动设置 DISPLAY
环境变量。
以下是具体的步骤:
打开终端,并编辑 .bashrc
文件(如果不存在则创建),可以使用 nano
或 vim
等文本编辑器进行编辑:
nano ~/.bashrc
在文件末尾添加一行 export DISPLAY=:0
,然后保存并关闭文件。
执行以下命令使配置文件生效:
source ~/.bashrc
现在,每次启动终端时,系统会自动设置 DISPLAY
环境变量为 :0
,无需手动输入命令了。这样您就可以避免每次重启都要输入命令的麻烦了。
因此只要在xv6目录下 直接make qemu即可打开xv6系统!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。