This commit is contained in:
parent
085d2895e8
commit
c17e1a5802
14
README.md
14
README.md
@ -20,11 +20,9 @@ A very basic POSIX-based operating system for personal computers, written in C++
|
|||||||
|
|
||||||
## Setup
|
## 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).
|
For this, 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.
|
|
||||||
|
|
||||||
Then, run `tools/setup.sh` to build the toolchain.
|
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
|
## 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.
|
`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).
|
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.
|
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?
|
## 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
|
## License
|
||||||
Luna is open-source and free software under the [BSD-2 License](LICENSE).
|
Luna is open-source and free software under the [BSD-2 License](LICENSE).
|
||||||
|
Loading…
Reference in New Issue
Block a user