利用Docker在MacOS M1上安装基于x86的PintOS
操作系统课程设计:安装pintos
最近在做操作系统的课程设计,学校发的文件都是针对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
最后,依次输入下面两行代码
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容器:
更多推荐
所有评论(0)