Skip to content

Operating System project: basic x64 Kernel Implementation with the ability to load extra binary modules separated from the main kernel.

License

Notifications You must be signed in to change notification settings

julianrod94/AstleyOS

 
 

Repository files navigation

AstleyOS

Build Status

This project was made for our Operating Systems subject at ITBA University (Buenos Aires, Argentina).

AstleyOS is based on x64BareBones which is a basic setup to develop operating systems for the Intel 64 bits architecture and a provider of an entry point for a C kernel and the possibility to load extra binary modules separated from the main kernel.

It uses a modification of the Pure64 boot loader to boot up the basic system. The modification enables to load a greater payload than the restrictive 26k that the original allows.

Requisites

This project needs the following packages: nasm gcc binutils make qemu.

Linux

  • GCC's version > 4.9 required.

This will install make, gcc-5, build-essential, nasm and qemu into your system.

From the project's directory, run:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install make gcc-5 build-essential nasm qemu

Or simply run the installation script: ./Scripts/install-linux.sh.

OS X

Assuming you already have homebrew installed...

This will install nasm, qemu and a cross compiler (CrossGCC) into your system.

From the project's directory, run:

brew update
brew install nasm
brew install qemu
curl -o gcc-4.8.1-OSX64.dmg http://crossgcc.rts-software.org/download/gcc-4.8.1-for-linux32-linux64/gcc-4.8.1-for-linux64.dmg
hdiutil mount gcc-4.8.1-OSX64.dmg
sudo installer -package /Volumes/gcc-4.8.1-for-linux64/gcc-4.8.1-for-linux64.pkg -target /
hdiutil detach /Volumes/gcc-4.8.1-for-linux64
rm -f gcc-4.8.1-OSX64.dmg

Or simply run the installation script: ./Scripts/install-osx.sh.

Usage

From the project's directory, simply run:

make all

If you want to just build the project, run make build then use make run to run.

Credits

  • AstleyOS β:

    • Author: Natalia Navas
    • Author: Francisco Bartolome
    • Author: Julian Rodriguez Nicastro
    • Author: Juan Moreno
  • AstleyOS α (kernel implementation):

  • x64BareBones (base project):

    • Author: Rodrigo Rearden
    • Collaborator: Augusto Nizzo McIntosh

About

Operating System project: basic x64 Kernel Implementation with the ability to load extra binary modules separated from the main kernel.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 68.4%
  • Assembly 28.8%
  • Makefile 1.8%
  • Other 1.0%