-
Notifications
You must be signed in to change notification settings - Fork 11
Getting Started
Welcome to the Xyris project! This guide is will detail the software necessary to build the Xyris kernel and all related software. Fortunately, Xyris has a lot of work put into the build system which should make it easier to work with than other projects.
While it it recommended that a Linux system is used, macOS is also viable. Unfortunately Windows is not officially supported, though it should be possible to get working. If you are new to Linux and development on Linux, it is recommended that you use Virtual Machine software, like VMWare Player or VMWare Fusion, to run Ubuntu. Both version of VMWare have free, non-commercial licenses available. While some may disagree with the decision to recommend Ubuntu, it has all of the packages needed to work on Xyris, and it is usually beginner friendly.
- Python 3
- PiP 3 (Python Package Manager)
- Docker (Instructions here for Ubuntu)
scons
-
qemu
qemu-system-i386
That's it! Because Xyris uses Docker, very few packages need to be installed on the host system. This helps ensure that all software being used for compilation is managed by the Xyris contributors and that all software used by all contributors is of the same version and configuration. As of version 3.3.1 of the xyris-build
Docker image, ARM platforms are supported and will no longer require x86(_64) emulation.
Once Python 3 is installed along with PiP 3, install the scuba
package. Scuba is an easy to use Docker image wrapper that allows for easy to use compilation commands.
Details on Scuba are available on its Github page.
If you plan on contributing to Xyris, please fork the repository so you can open Merge Requests. Once forked, replace the URLs in the following steps with the URL to the appropriate fork.
- Install required packages (and optional packages to run Xyris using official methods)
- Create a PAT for Docker, as described here. Following these steps allows
scuba
to access Github's Docker registry.- Create a new PAT (Personal Access Token) here.
- Copy the generated PAT token.
- Login to the Github registry and enter your PAT.
- Clone the Repo (SSH:
git clone git@github.com:XyrisOS/xyris.git
HTTPS:https://github.com/XyrisOS/xyris.git
) - Update Git Submodules (
git submodule update --init
) - Build kernel (
scuba build
) - Build image (
scuba image
) - Run in Qemu (
scons run-i686
)
The following scuba commands are available in order to simplify common tasks.
Execute these commands as scuba [command]
.
- build: Default build target
- clean: Remove all build products
- debug: Build the kernel in debug mode
- release: Build the kernel in release mode
- docs: Build kernel documentation
- test: Build and run the unit tests (no standard output)
The Xyris docker image used by Scuba does not have qemu
installed, which is what the Xyris contributors use by default. If scons
and qemu-system-x86_64
are both installed, then the scons run-i686
command can be used to launch the Xyris .img
image in Qemu. Otherwise, Virtual Machine software such as Virtualbox, VMWare, or Bochs should work, though they are not officially supported.
Additionally, VSCode is the IDE of choice for Xyris development, and as such, there are pre-made tasks for building, testing, and running Xyris.
Copyright the Xyris contributors. All rights reserved.