-
Notifications
You must be signed in to change notification settings - Fork 11
Getting Started
Welcome to the Panix project! This guide is will detail the software necessary to build the Panix kernel and all related software. Fortunately, Panix 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.
- Python 3
- PiP 3 (Python Package Manager)
- Docker
make
-
qemu
(Optional)qemu-system-i386
That's it! Because Panix 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 Panix contributors and that all software used by all contributors is of the same version and configuration.
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 their Github page.
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
- image: Build the default Panix image
- img: Build a Panix image in
.img
format - iso: Build a Panix image in
.iso
format
- test: Build and run the unit tests (no standard output)
- test-verbose: Build and run unit tests (with standard output)
Unfortunately the Panix docker image used by Scuba does not have Qemu
installed, which is what the Panix contributors use by default. If make
and qemu-system-i386
are both installed, then the make run
command can be used to launch the Panix .img
image in Qemu. Otherwise, Virtual Machine software such as Virtualbox, VMWare, or Bochs should work, though they are not officially supported.
Copyright the Xyris contributors. All rights reserved.