在macOSX 10.15上安装xv6

问题描述

我一直试图通过终端在macOSX上安装xv6。 我使用命令brew install qemu安装qemu并点击了以下代码

sudo port install i386-elf-gcc

,然后将Makefile从i386-jos-elf修改为i386-elf-,当我点击代码时,我收到以下有关尝试运行xv6的消息:

cd xv6-public 
make

以下消息:

错误:找不到GCC / binutils的i386- -elf版本。 PATH中是否包含i386-jos-elf-gcc的目录? 如果使用命令安装了i386- -elf工具链 除“ i386-jos-elf-”以外的其他前缀,请设置您的TOOLPREFIX 环境变量到该前缀,然后再次运行“ make”。 要关闭错误,请运行“ gmake TOOLPREFIX = ...”。

gcc -m32 -gdwarf-2 -Wa,-divide -c -o usys.o usys.S

任何帮助将不胜感激。

解决方法

您下载的xv6版本可能已过时。我今天也遇到了这个问题。更新到最新版本后,便可以成功编译。 使用此命令下载的版本似乎更高级。

git clone git://github.com/mit-pdos/xv6-riscv-fall19.git

您可以尝试本教程。我今天用他的方法成功了。 This is the tutorial but written in Chinese

,
  • 安装必备库

    brew install python3 gawk gnu-sed gmp mpfr libmpc isl zlib expat
    
  • 安装RISC-V GNU工具链

    brew tap riscv/riscv
    brew install riscv-tools
    path=(/usr/local/opt/riscv-gnu-toolchain/bin ${path})
    
  • 安装QEMU

    brew install qemu
    
  • 安装xv6

    git clone --depth 1 --single-branch \
        https://github.com/mit-pdos/xv6-riscv.git \
        ./xv6
    
  • 运行xv6:

    cd ./xv6
    make qemu
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...