64-bit operative system with multitasking capabilities built on top of x64BareBones.
-
To be able to build this project, the following tools are needed:
build-essentialpackage, which includes GCC and Make.sudo apt-get install build-essentialNASM for compiling assembly code.
sudo apt-get install nasmQEMU for running the OS image. It also offers a comfortable way to do system-wide debugging.
sudo apt-get install qemu-kvm \ libvirt-daemon-system \ libvirt-clients \ bridge-utilsThe following package versions were used in the making of this project:
GCC version 4.9.2,Make version 4.0,NASM version 2.11.5,QEMU version 2.1.2. -
Build the Toolchain Execute the following commands inside KerberOS root folder:
cd Toolchain make all -
Build the Kernel From the project root directory, run:
make all
To boot the OS, type the following command inside project root directory:
./run.sh
Most of the header files in this project are documented using Javadoc-style comments. Code format was set using Clang-Format formatter with the following rules:
{
BasedOnStyle: LLVM,
IndentWidth: 4,
AllowShortIfStatementsOnASingleLine: false,
BreakBeforeBraces: Attach,
AllowAllParametersOfDeclarationOnNextLine: true,
AllowShortFunctionsOnASingleLine: None,
AllowShortEnumsOnASingleLine: false,
IndentCaseLabels: true,
AlignConsecutiveMacros: AcrossEmptyLines,
SortIncludes: CaseInsensitive,
AlignTrailingComments: true,
PointerAlignment: Right
}