FOS is an educational OS for Ain Shams University Operating Systems Course CSW355, forked and refactored from MIT Operating Systems Lab 6.828. It was created by Dr. Mahmoud Hossam and currently maintained by Dr. Ahmed Salah.
FOSv2 is the next version of FOS. It provides a much faster and better environment using other editing and virtualization tools.
FOS needs an Linux environment to run as expected. For Windows users, the methods below try to mimic a Linux environment on Windows, choose any of them. For Linux users, just setup your environment as described below.
Linux-like Environment:
Toolchain:
i386-elf-toolchain
for Windows.i386-elf-toolchain-windows.rar
in C:\cygwin\opt\cross\
(create this folder if it doesn't exist).Emulator:
Update PATH
:
Add the following to your PATH
environment variable:
C:\Program Files\qemu
C:\cygwin\bin
C:\cygwin\opt\cross\bin
Requires Windows 10 build 16215+
The Windows Subsystem for Linux lets developers run a GNU/Linux environment including most command-line tools, utilities, and applications directly on Windows, unmodified, without the overhead of a virtual machine.
# Required Packages
sudo apt-get update
sudo apt-get install build-essential qemu-system-i386 gdb libfl-dev
# Create directory
sudo mkdir /opt/cross
cd /opt/cross
# Install Toolchain
sudo wget https://github.com/YoussefRaafatNasry/fos-v2/releases/download/toolchain/i386-elf-toolchain-linux.tar.bz2
sudo tar xjf i386-elf-toolchain-linux.tar.bz2
sudo rm i386-elf-toolchain-linux.tar.bz2
# Update your PATH in your ~/.bashrc file.
echo 'export PATH="$PATH:/opt/cross/bin"' >> ~/.bashrc
git clone https://github.com/YoussefRaafatNasry/fos-v2.git
cd fos-v2/
code .
*Cloning is recommended to get the latest changes using
git pull
FOSv2 has changed kern/Makefrag
in 8e2612dc
. This changes can cause errors after adding assignments' files (which usually conatin a kern/Makefrag
file made for FOSv1). To solve this issue:
kern/Makefrag
and replace these lines by those ones.$(OBJDIR)/kern/bochs.img
by $(IMAGE)
)