Build guide

April 12, 2021 ยท View on GitHub

Table of contents

Dependencies

Building emeraldOS requires:

  • A Linux distribution or any other UNIX-like operating system
  • nasm (Assembler)
  • LLVM (toolchain)
  • GNU/Make (build system)
  • QEMU or any other virtualization software
# On debian-based distributions
$ sudo apt install nasm llvm make qemu-system-x86 
# on arch-based distributions
$ sudo pacman -S nasm llvm make qemu
# on void-based distributions
$ sudo xbps-install nasm llvm make qemu
# on gentoo
$ sudo emerge --ask llvm nasm make qemu

Getting the source code

To get the source code, just clone the repository.

# Github
$ git clone https://github.com/Abb1x/emerald.git --recursive
# Gitlab (mirror)
$ git clone https://gitlab.com/Abb1x/emerald.git --recursive

Building

Building emerald is pretty simple, just run this command:

$ make

Running in a virtual machine

Emerald has only been tested on the following virtualization software:

  • QEMU
  • VirtualBox
  • Other VMs might work

To run in QEMU, just execute the following command:

$ make run

To run in VirtualBox, create a new machine with the following properties:

Make sure to run

$ make disk

to generate the disk image

  • Name: emerald (optional)
  • Type: other
  • Version: Other/Unknown (64 bit)
  • Memory size: 64 mb
  • Hard Drive: use an existing virtual hard disk file -> choose the disk.hdd file in the build/ directory of the cloned repo

Thanks for building emerald! :heart: