0%

xv6操作系统安装

xv6是MIT操作系统课程所使用的一个简化的类UNIX系统,适合用于操作系统的学习,代码一共九千多行,麻雀虽小五脏俱全,本篇记录xv6的在Ubuntu上安装。

  • 环境:Ubuntu16.04LTS
  1. 安装可以运行xv6的模拟器,qemu或者broch,这里选择qemu

    1
    sudo apt-get install qemu

    输入qemu-system-i386,出现qemu的GUI界面则安装成功
    success

  2. 下载并编译xv6源码

    1
    git clone https://github.com/mit-pdos/xv6-public.git

    一定要使用git clone 而不是直接在github下载代码压缩包,这里有个小插曲后面再说。把代码git下来之后,进入xv6的根目录,打开终端输入指令make,如果没有报错则一切顺利。如果出现了boot block too large这种错误
    error
    google一下
    "google"
    内核的编译往往依赖于特定的gcc版本,按照它的建议,降低系统gcc版本到3.x

    1
    sudo apt-get install gcc-3.4

    再make一次就可以了

  3. 运行xv6
    在xv6-master目录中找到并打开Makefile文件,删掉“QEMU= qemu-system-i386”前面的“#”注释,然后在xv6根目录使用make qemu命令,运行成功
    make qemu

关于小插曲:
一开始直接在github上下载zip压缩包然后解压得到源代码,在make的时候报了这样的错误
failed
就很奇怪,一个成熟的产品不应该有这样的低级错误啊
去翻xv6的github看ioapic.c这个文件
???tmd居然和我电脑上的不一样,可是我明明是在github上download下来的啊
联想起github被微软收购后的不止一次挂掉等种种骚操作,严重怀疑download zip下载下来的是旧的版本,尽管它只有一个branch,于是直接在Ubuntu使用git clone
然后再make,成功了。。。
fine。。。