Bochs 中的 PintOS 安装

PintOS Installation in Bochs

过去几天我一直在 Bochs 中安装 Pintos。 "threads" 目录中的所有内容都编译得很好,我还设置了所有路径。我在构建目录中有 kernel.lo 和其他文件。

问题出在我 运行 的最后一个命令上: pintos 运行 报警倍数

这会产生一个错误: 无法识别的字符 \x16;在第 911 行 /home/superboy/pintos/src/utils/pintos 第 7 列附近的 if ($<-- HERE) 之后用 <-- HERE 标记。

pintos 脚本第 911 行的代码是:

# Calls setitimer to set a timeout, then execs what was passed to us.
sub exec_setitimer {
if (defined $timeout) {
if ($  ge 5.8.0) {
    eval "
          use Time::HiRes qw(setitimer ITIMER_VIRTUAL);
          setitimer (ITIMER_VIRTUAL, $timeout, 0);
        ";
} else {
    { exec ("setitimer-helper", $timeout, @_); };
    exit 1 if !$!{ENOENT};
    print STDERR "warning: setitimer-helper is not installed, so ",
      "CPU time limit will not be enforced\n";
}
}
exec (@_);
exit (1);
}

我正在使用 Debian-9 Stretch

用vim打开utils目录下的Pintos文件,实际输入控制字符替换字符“^V”。这应该可以解决它。

我在 ubuntu 中重复了相同的步骤并且成功了。似乎 pintos 在 Debian 上有问题 运行。