Welcome to the University of Agder's IKT218 course repository. This platform is crucial for students involved in our Operating System Development lab assignments. At the semester's end, students will add their operating system projects to this repository, creating a diverse showcase of their work.
This package is designed to support OS development and includes:
- Standard directory structure for source and build files
- i386 linker script
- Configuration for the Limine bootloader using Multiboot2
Follow these steps for to setup your environment for the lab assignment:
The first thing you need to do is to g into devcontainer.json
and uncomment the section that belongs to your machine. We have tested Arch Linux on X11, Windows 11 with WSL2, and MacOS M1 (Arm).
-
Install Homebrew:
- Follow the instructions on the Homebrew official site to install Homebrew.
-
Install Visual Studio Code:
- Run the following command in the terminal:
brew install --cask visual-studio-code
- Run the following command in the terminal:
-
Install Docker:
- Install Docker by executing this command in the terminal:
brew install --cask docker
- Install Docker by executing this command in the terminal:
-
** Install Pulseaudio:**
- install pulseaudio by executing this command in the terminal:
brew install pulseaudio
- after installation you should run
brew services start pulseaudio pactl load-module module-native-protocol-tcp auth-anonymous=1 lsof -i -P | grep -i "listen"
- ensure that the output of lsof contains a line binding to port 4713 like so
TCP *:4713 (LISTEN)
-
** Install XQuartz: **
- XQuartz is in charge of forwarding display from Mac to Docker container
brew install --cask xquartz
-
Install Windows Subsystem for Linux (WSL2):
- Ensure you have the latest version of Windows.
- Follow the installation instructions on the official guide for WSL2.
-
Install Docker:
- Download and install Docker for Windows from the Docker official website.
-
Install Visual Studio Code:
- Download and install Visual Studio Code from the Visual Studio Code official website.
-
Install Docker:
- Depending on your Linux distribution, follow the Docker installation guide on the Docker official website.
-
Install Visual Studio Code:
- Download and install Visual Studio Code from the Visual Studio Code official website.
-
Fork the Repository:
- Fork this repository
- Click the 'Fork' button at the top right to create a copy in your account.
-
Clone the Forked Repository:
- Open your terminal or command prompt.
- Clone the repository using:
git clone [URL of your forked repository]
- Replace
[URL of your forked repository]
with the actual URL.
-
Rename the Directory: Change
group_name
to a name that reflects your project or group. Apply this change to both the source and build directories. -
Update VS Code Settings: Edit
.vscode/settings.json
to match your new group name:"cmake.buildDirectory": "${workspaceFolder}/build/<your_group_name>", "cmake.sourceDirectory": "${workspaceFolder}/src/<your_group_name>",
Note: Do not push changes to anything but the
build/<your_group_name>
orsrc/<your_group_name>
directories to avoid conflicts. -
Set Up Your Development Environment: Prepare your environment as instructed in the lectures (Devcontainer). These are tested on Windows, Linux, and MacOS (arm64). Customized setups are allowed, but receive limited support.
-
Maintain Professional Coding Standards: Use appropriate variable names and comments. Unprofessional practices will negatively affect your grade.
Your submission should include:
- A working operating system
- The source code
- A final report in PDF format
Arrange your project like this:
.vscode/
.devcontainer/
.github/
.gitignore
build/<your_group_name>/
src/<your_group_name>/
Your projects will be displayed at the end of the semester on UIA ICT OS Dev Showcase.
Refer to your lecture materials and use the course forum for any questions.