MIT provides instructions to setup the tools directly on Linux/Mac and Windows. You are permitted to follow these instructions directly if you do not want to use container.
For this class’ materials, we will be using running a Docker container with additional privilege to emulate the ability to interact with the OS system calls.
It should be noted that once we access the running container via the terminal, everything should be the same regardless of the setup choice.
1
2
3
git config --global core.autocrlf false
git clone -b csc331 https://github.com/ngo-classes/the-one-ring
cd the-one-ring
/workspace inside the container.workspace directory inside the the-one-ring directory.workspace’s content is gitignored.
1
2
3
docker image pull linhbngo/onering:csc331
docker compose up -d
docker compose exec -it csc331 /bin/bash
student account, with passwordless sudo privilege.
1
2
3
whoami
qemu-system-riscv64 --version
riscv64-unknown-elf-gcc --version
install.sh.csc331 branch has been cloned, you can edit line 5 of docker-compose.yml to change the image name to your preferred name.
1
2
docker compose build
docker compose push
You can repeat the tests above to make sure that the custom container is ready to go.