最近在做操作系统的课程设计,学校发的文件都是针对win从linux上配置pintos

方法众多:

1. linux虚拟机:一直尝试失败且步骤较为繁琐,

2.云服务器:还未尝试过使用ECS安装pintos-阿里云开发者社区

3.直接安装

4.利用docker:看到了北京大学发布的关于pintos的课程文件,按照步骤顺利完成安装,在此记录一下。

步骤一:安装docker

在官网Docker: Accelerated, Containerized Application Development,选择apple chip版本下载

步骤二:拉取镜像

docker run -it pkuflyingpig/pintos bash

等待一段较长的时间后拉取成功。

成功后会进入一个bash shell。

  • 键入pwd,您会发现您的个人目录在/home/PKUOS

  • 键入ls,你会发现有一个包含所有依赖项toolchain目录

现在,您在主机计算机中拥有一个微小的Ubuntu操作系统

步骤三:安装pintos

从github上克隆代码

git clone git@github.com:PKU-OS/pintos.git

这个代码是已经配置好toolchain的,可以直接使用不需要自己配置,如果克隆失败,也可以自己配置,参考链接Project Setup

在此运行docker,注意source要换成pintos的本机地址

docker run -it --rm --name pintos --mount type=bind,source=absolute/path/to/pintos/on/your/host/machine,target=/home/PKUOS/pintos pkuflyingpig/pintos bash

有可能会报错

WARNING: The requested image‘s platform (linux/amd64) does not match the detected host platform

解决方法参考WARNING: The requested image‘s platform (linux/amd64) does not match the detected host pl​​​​​​atform_zhumengyangi的博客-CSDN博客

最后,依次输入下面两行代码

cd pintos/src/threads/
make

再输入如下代码,此操作旨在触发Qemu模拟32位x86机器,boot完成

cd build
pintos --

出现如下代码即成功:

Pintos hda1
Loading............
Kernel command line:
Pintos booting with 3,968 kB RAM...
367 pages available in kernel pool.
367 pages available in user pool.
Calibrating timer...  32,716,800 loops/s.
Boot complete.

官方描述:

Now Let's conclude what you have done. 

  • First, You used docker to run a Ubuntu container that functions as a full-edged Linux OS inside your host OS. 

  • Then you used Qemu to simulate a 32-bit x86 computer inside your container. 

  • Finally, you boot a tiny toy OS -- Pintos on the computer which Qemu simulates. 

参考文章:​​​​​​​Welcome to Pintos - PintosBook​​​​​​​​​​​​​​

 docker内如图所示,会有一个pintos容器:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐