Skip to content

MaxMansfield/apollo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apollo

Version: omega (v0.2.0)



Apollo is a small x86_64 kernel written in rust

Build Dependencies

Below is a list of things you need to run the kernel and some instructions. If you want to know the kernel dependencies please look at the Vagrantfile and Cargo.toml for now since they change so frequently at this stage in development.

All
OS X
Windows


Build Parameters

You can also give different parameters to the build system

arch x86_64
  The architecture to build for. Currently only x86_64 is supported.
build release,debug
    The build type (debug/release) passed to `nasm` and `cargo`
target x86_64-unknown-linux-gnu
    The target to use for compilers. Currently only linux is supported.
version [x.x.x]
  The semantic version of the build.
name [Version name]
  The name of the build. Should only be changed on major version changes.
Parameter example
  # This example could be something used in the future
  make iso name=upsilon version=2.3.12 build=release


Build and Run

1. Install vagrant and virtualbox (as well as xquartz if you are on OS X)

  git clone https://github.com/MaxMansfield/apollo.git     # Get the kernel
  cd apollo                                                # Go to the kernel
  vagrant up --provider=virtualBox                         # Get Dev Environment
  vagrant ssh                                              # Go to Dev Environment

2. Now that you are ssh'd into the system navigate to the share folder

  cd /vagrant       # Where the parent dir of the Vagrantfile is mapped

3. Make sure to always clean the project first.

  make clean      # Don't forget to wash your hands before you eat!

4. Now you can build and run the kernel!

  make            # Just builds the program
  make iso        # builds if needed and outputs an iso Image
  make run        # does all of the above and opens a qemu instance
  make clean      # Ready to commit!


Without Vagrant

If you would like to build this without vagrant then take a look at the the bottom of the Vagrantfile for the sh instructions used to install dependencies and set rustup to a default nightly build.



Contributors and Resources

1. Philipp Oppermann for his amazing site
2. intermezzOS for their thourough walkthrough
2. Ashley Williams and her x86 repo for showing me Vagrant

License (MIT)

See the file named LICENSE at the root directory of this repository.


About

A simple multiboot x86_64 kernel written in rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published