diff --git a/README.md b/README.md index 15857c84..60ef18db 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,9 @@ A very basic POSIX-based operating system for personal computers, written in C++ ## Setup -To build and run Luna, you will need to build a [GCC Cross-Compiler](https://wiki.osdev.org/Why_do_I_need_a_Cross_Compiler) and cross-binutils for `x86_64-luna`. (Yes, Luna is advanced enough that it can use its own [OS-Specific Toolchain](https://wiki.osdev.org/OS_Specific_Toolchain), instead of a bare metal target like `x86_64-elf`. It is the first of my OS projects to be able to do so. The patches for Binutils and GCC are [binutils.patch](tools/binutils.patch) and [gcc.patch](tools/gcc.patch)). +To build and run Luna, you will need to build a [cross-compiler](https://wiki.osdev.org/Why_do_I_need_a_Cross_Compiler) and cross-binutils for `x86_64-luna`. -You should start by installing the [required dependencies](https://wiki.osdev.org/GCC_Cross_Compiler#Installing_Dependencies). - -Additionally, some extra Luna-specific dependencies you should install are: cmake, ninja, nasm and genext2fs. +For this, you should start by installing the [required dependencies](https://wiki.osdev.org/GCC_Cross_Compiler#Installing_Dependencies). Then, run `tools/setup.sh` to build the toolchain. @@ -32,7 +30,9 @@ Please beware that building GCC and Binutils can take some time, depending on yo ## Running -You should have [QEMU](https://www.qemu.org/) installed. +To run Luna in a virtual machine, you should have [QEMU](https://www.qemu.org/) installed. + +Additionally, the build process needs some extra dependencies to run: `cmake`, `ninja`, `nasm` and `genext2fs`. `tools/run.sh` is the script you should use in most cases. It will build changed files, install, make an ISO image, and run Luna in QEMU. @@ -42,7 +42,7 @@ If you have no toolchain set up, `run.sh` will build it automatically, which mea Prebuilt ISO images (numbered) for every version can be found at [pub.cloudapio.eu](https://pub.cloudapio.eu/luna/releases). -These images are built manually whenever I decide to make a new version, and thus don't reflect the latest changes on the `main` branch. +These images are built manually whenever a new release is created, and thus don't reflect the latest changes on the `main` branch. Every hour, this server pulls the latest commits on `main` and builds an hourly ISO image. The ten most recent ones can be found in the [hourly](https://pub.cloudapio.eu/luna/hourly) directory, and [Luna-latest.iso](https://pub.cloudapio.eu/luna/Luna-latest.iso) should always be symlinked to the newest one. @@ -50,7 +50,7 @@ These images do reflect the latest changes on the `main` branch, but are obvious ## Is there third-party software I can use on Luna? -Not right now, but hopefully we can start porting some software soon! +There is no infrastructure for porting third-party software nor there are any patches in the repo for now, but some third-party programs can run on Luna, including [my own library](https://git.cloudapio.eu/apio/minitar). ## License Luna is open-source and free software under the [BSD-2 License](LICENSE).