西电 操作系统课设 在Ubuntu18.04安装pintos

  • 前言
  • 1. 主要步骤
  • 2. VMware的安装
  • 3. Ubuntu18.04的安装和配置
  • 4. Bochs的安装
  • 4. Pintos安装
  • 5. 运行Pintos
  • 6. 可能会遇到的问题

前言

由于本人更喜欢使用VMware,而且Ubuntu12.04的软件源失效了,很多东西都没办法安装,因此写了一份在用VMware虚拟机在Ubuntu18.04下安装pintos的教程,希望能够帮到大家。感谢竹佬在群里提供的思路以及新版本的pintos压缩包。文章中可能会有一些错误,恳请各位大佬批评指正。

1. 主要步骤

(1)安装VMware虚拟机

(2)Ubuntu18.04的安装和配置

(3)Bochs虚拟机的安装

(4)Pintos安装及测试

2. VMware的安装

西电的同学可以到西电睿思下载

3. Ubuntu18.04的安装和配置

(1)在官网Ubuntu Releases下载Ubuntu18.04-desktop-amd64.iso
(2)在VMware中创建新的虚拟机,安装程序光盘映像文件,然后完成安装

​​​​​​​​​​(3)启动虚拟机, 在Software & Update中将源切换成国内的源

(4)安装工具软件

名称 用途 安装方法
gcc 编译器(3.3版本后) sudo apt install gcc
g++ 编译bochs所需 sudo apt install g++
libncurses5-dev 编译bochs所需 sudo apt install libncurses5-dev
libx11-dev 编译bochs所需 sudo apt install libx11-dev
libxrandr-dev 编译bochs所需 sudo apt install libxrandr-dev
binutils 二进制工具集 sudo apt install binutils
perl 一种程序设计语言(5.8.0版本后) sudo apt install perl
make 编译工具(3.80版本后) sudo apt install make
gdb 调试工具 sudo apt install gdb
QEMU 虚拟机(0.11.0版本后) sudo apt install qemu
vim 文本编辑工具 sudo apt install vim
geany 文本编辑工具(IDE) sudo apt install geany

4. Bochs的安装

(1)下载bochs(本人使用的是2.6.8版本)到Ubuntu
Bochs下载网址:官网链接、官网所有版本链接
(2)解压bochs下载文档
本手册中工作文件夹路径为:“/home/username/os”(你的用户名是什么username就写什么)
(3)配置bochs
进入 bochs 解压后的文件夹:cd /home/xd/os/bochs-2.6
执行命令:
sudo ./configure --enable-gdb-stub --with-x --with-x11 --with-term --with-nogui
(注意最前面的点)
(4)编译bochs
执行命令:make
注意编译后应当没有 error 信息,如果有可根据提示安装某些包后,重新编译。
(5)安装
执行命令:make install
(6)检测
执行命令:bochs
可见如下界面:

BXSHARE not set. using compile time default '/usr/local/share/bochs'这个错误暂时不知道怎么解决,但好像影响不大)

4. Pintos安装

(1)下载Pintos压缩包
链接:https://pan.baidu.com/s/1XqXUAglNzcwJTCVwso-mpQ 提取码:xdos
(2)解压Pintos压缩包到工作目录(这里以“/home/username/os/”为例)

(3)配置环境变量

  • 修改配置文件“.bashrc”
    这个文件在 “/home/username” 目录下,但是是隐藏文件,Ctrl + H 即可显示隐藏文件
    右键用Geany打开
    在文件的最后加上如下内容(设置路径,注意路径要和自己机器上的路径一致,不可照搬)
    export PATH="$PATH:/home/username/os/pintos-anon/src/utils"

    注意 “PATH” 和 “=” 之间不能有空格!

    修改以后进入 “home/username” 目录下,执行命令:bash
    对于用户 root,在“/root”文件夹下也有一个隐藏文件“.bashrc“,对它也进行上述更改,两个文件添加的内容是一样的。然后进入 root 目录下执行一次 bash 操作。
    点击注销,重新登录

  • 修改配置文件 “pintos-gdb”
    按照路径 “/home/username/os/pintos-anon/src/utils” 找到文件pintos-gdb,用Geany打开

    在第4行进行如下修改,将路径改为自己机器的路径

    在之前的目录utils下用Geany打开文件“Makefile” (这一步好像可以不用)

    将第5行改为LDLIBS = -lm

    在目录 “/home/xd/os/pintos-anon/src/utils” 下执行make命令编译

5. 运行Pintos

进入 “/home/xd/os/pintos-anon/src/threads” ,执行make命名编译
编译成功后,会生成build 目录,进入 build 目录,运行测试用例 alarm-multiple(命令:pintos – run alarm-multiple)
出现如下界面:

安装成功!

6. 可能会遇到的问题

  • .bochsrc:186: cpu directive malformed.

    错误原因:PC的CPU与配置文件中的cpu model不匹配
    解决方法:在终端输入bochs -help cpu

    我的电脑是AMD处理器,就在配置文件中将cpu model改为amd_k6_2_chomper

  • .bochsrc:908: Bochs is not compiled with lowlevel sound support

    解决方法:修改配置文件,注释掉以下两行
    #sound: driver=default, waveout=/dev/dsp. wavein=, midiout=
    #speaker: enabled=1, mode=sound

西电 操作系统课设 在Ubuntu18.04安装pintos相关推荐

  1. 操作系统课设--虚拟内存

    山东大学操作系统课设lab7 实验七 虚拟内存(lab7) 实验目的 实验环境 实验思路 关键源代码注释以及程序说明 调试记录 实验七 虚拟内存(lab7) 实验目的 在未实现虚拟内存管理之前,Nac ...

  2. 操作系统课设--系统调用

    山东大学操作系统课设lab6 实验六 系统调用(lab6) 实验目的 实验环境 实验思路 调试记录 实验六 系统调用(lab6) 实验目的 扩展现有的class AddrSpace的实现,使得Nach ...

  3. 操作系统课设--具有二级索引的文件系统

    山东大学操作系统课设lab5 实验五 具有二级索引的文件系统(lab5) 实验目的 实验环境 实验思路 调试记录 实验五 具有二级索引的文件系统(lab5) 实验目的 Nachos系统原有的文件系统只 ...

  4. 操作系统课设--扩展文件系统

    山东大学操作系统课设lab4 实验四 扩展文件系统(lab4) 概念欠缺 实验目的 实验环境: 实验思路: 关键源代码注释以及程序说明: 调试记录: 实验四 扩展文件系统(lab4) 概念欠缺 ifd ...

  5. 操作系统课设--具有优先级的线程调度

    山东大学操作系统课设lab2 实验二 具有优先级的线程调度(lab2) 概念欠缺 实验环境 实验目的 1. 熟悉Nachos原有的线程调度策略 2. 设计并实现具有优先级的线程调度策略 实验二 具有优 ...

  6. 操作系统课设--NACHOS试验环境准备、安装与MAKEFILE分析

    山东大学操作系统课设lab1 实验一 NACHOS试验环境准备.安装与MAKEFILE分析(lab1) 实验环境: 分析记录: 1. 准备虚拟机下LINUX宿主操作系统环境 2. NACHOS实验代码 ...

  7. 操作系统课设之Linux 进程管理

    前言 课程设计开始了,实验很有意思,写博客总结学到的知识 白嫖容易,创作不易,学到东西才是真 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://ronglin.fun/arch ...

  8. 华南农业大学操作系统课设(模拟磁盘文件系统实现)(JavaFX)(单人课设)

    文章目录 展示效果的视频 题目要求+代码+报告+展示视频的下载地址 实验报告 一.需求分析 (1)输入的形式和输入值的范围: 1.输入的形式 2.输入值的范围 (2)输出的形式: (3)程序所能达到的 ...

  9. 操作系统课设--使用信号量解决生产者/消费者同步问题

    山东大学操作系统课设lab3 实验三 使用信号量解决生产者/消费者同步问题(lab3) 实验目的 理解Nachos的信号量是如何实现的 生产者/消费者问题是如何用信号量实现的 在Nachos中是如何创 ...

最新文章

  1. 微服务实践(七):从单体式架构迁移到微服务架构
  2. px4原生源码学习四--Nuttx 实时操作系统编程
  3. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)
  4. 使用XML文件方式配置log4cxx(log4cxx xml例子)
  5. 系统动力学模型_蓝谷学术动态|典型海洋生态系统动力学模型构建、应用及发展入选2020年经典中国国际出版工程...
  6. win7下使用U盘安装Ubuntu Kylin完全详解教程
  7. 聊天系统服务器端类图,课程设计-简单聊天室JAVA课程设计.doc
  8. flv.js插件播放flv格式的视频实例(vue)
  9. 13个免费资源网站,你想要的全都有!【各类宝藏资源,建议收藏】
  10. 微信小程序wx.getUserInfo获取用户所在地区将拼音转换为中文的方法
  11. 计算机中的成绩排名相同怎么弄,Excel:重复名次也可以查姓名成绩EXCEL基本教程 -电脑资料...
  12. 不重启JVM,对未添加日志的方法添加日志!
  13. 国际快递清关要多少时间,国际快递进口如何清关2021.12.01
  14. 翻译Deep Learning and the Game of Go(3)第2章:围棋是一个机器学习难题(规则部分就不翻了)
  15. 【知识图谱】通俗易懂的知识图谱技术
  16. Intent Service 和Service的区别
  17. python自学免费图片_自学Python----爬取Beautyleg图片
  18. lua基础学习(1):使用Visual Studio编译lua和luac
  19. 22_微信小程序开发-BLE低功耗蓝牙开发-源码
  20. Anchor Boxes详解

热门文章

  1. redis保护模式的报错
  2. python毕业设计作品基于django框架的鲜花水果商城毕设成品(3)后台管理功能
  3. 2019牛客暑期多校训练营 第三场 I Median
  4. Python ❀ 插入排序
  5. SAP 上传图片至系统
  6. PE、PM、PD、PR分别是什么岗位?
  7. 第031讲:永久存储,腌制一缸美味的泡菜 | 学习记录(小甲鱼零基础入门学习Python)
  8. c语言乒乓球比赛相关的拓展程序,乒乓球编排软件.pdf
  9. Stochastic Approximation
  10. python代码书写_如何优雅的书写Python代码, python使用小技巧