A simple POSIX-based operating system for 64-bit computers
Go to file
2022-11-01 11:11:33 +01:00
initrd Let's get Rusty!! 2022-10-31 14:02:12 +01:00
moon Kernel: Add double fault handler 2022-11-01 11:11:33 +01:00
tools Add a script to build and install mkbootimg 2022-10-31 14:48:23 +01:00
.gitignore Add Cargo.lock to gitignore 2022-10-31 14:33:37 +01:00
LICENSE Add LICENSE 2022-10-07 13:27:01 +00:00
luna.json Don't build such a small image 2022-09-26 17:55:16 +02:00
README.md Update README.md 2022-10-31 14:48:35 +01:00

Luna

A simple kernel and userspace for the x86_64 platform, currently being rewritten in Rust.

Past features (before rewrite)

Setup

Start by installing rustup and install the Rust toolchain by running:

rustup default stable or rustup default nightly

You also need to add the rust-src component:

rustup component add rust-src

Luna uses the BOOTBOOT bootloader, so you'll need to build its mkbootimg tool to create disk images with it.

A script is provided to do so: tools/setup-bootloader.sh. It requires GNU Make and git.

To run Luna, you should install QEMU. You can use another virtual machine, but the run scripts use it by default.

Building

There are a variety of build scripts, but in most cases, you should just use build-iso.sh or rebuild-iso.sh.

Or for release builds, build-stable-iso.sh.

Running

tools/run.sh, which will invoke build-iso.sh to build any modified files, or tools/fast-run.sh that just runs Luna.

Prebuilt images

Prebuilt ISO images are right now only available for the main branch, which contains the Luna repository before the rewrite. When this rewrite is stable enough/has progressed enough, it will be merged into main and prebuilt images will be available.

Is there third-party software I can use on Luna?

No, you're on the wrong branch right now. Switch to main for a system capable of running some third-party programs.

License

Luna is open-source and free software under the BSD-2 License.