This repository contains an skeleton for the PintOS project.
Each PintOS project is in an specific branch.
- Project 1: Threads (branch: project-1)
The skeletons of the design docs are on the designdocs repository.
Requirements:
Just execute the build.sh
bash script to create your docker image, your container and attach it to a volume. In this way every change you did inside the containers will be replicated to your local folder.
foo@bar:~$bash build.sh
Step by step:
If you want to execute the bash scripts commands by yourself, you can execute the following commands:
Don't forget to run the following commands in the same folder as the Dockerfile
- Create the PintOS image
foo@bar:~$ docker build -t <pintos-image-name> .
- Create a docker volume to made your changes persistent
foo@bar:~$ docker create -it --volume $(pwd)/pintos/src:/pintos/src --name <my-volume-name> <pintos-image>
To start working on your container, you need to run just the exec.sh
bash script or the following commands:
Don't forget to replace with your volume name
foo@bar:~$ docker start <my-volume-name>
foo@bar:~$ docker exec -it <my-volume-name> bash
To test if you setup is correctly builded, inside the container run the following command and see the following output:
foo@bar:~$ pintos -q run alarm-multiple
...
(alarm-multiple) end
Execution of 'alarm-multiple' complete.
Timer: 587 ticks
Thread: 0 idle ticks, 587 kernel ticks, 0 user ticks
Console: 2954 characters output
Keyboard: 0 keys pressed
Powering off..