commit | db2bab83b34de1733bce4bb607768a2c8c5b21c7 | [log] [tgz] |
---|---|---|
author | Andy-Python-Programmer <andypythonappdeveloper@gmail.com> | Sat Dec 18 19:52:03 2021 +1100 |
committer | Andy-Python-Programmer <andypythonappdeveloper@gmail.com> | Sat Dec 18 19:52:03 2021 +1100 |
tree | e55a2608ae6052b27788a06ab7da5c463576895f | |
parent | eaaba26280eb13ff97ea5903edc7f3187cfd0559 [diff] |
aero.py: remove limine.cfg in .cargo since its now auto generated Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
Aero is a new modern, experimental, unix-like operating system written in Rust. Aero follows the monolithic kernel design and it is inspired by the Linux Kernel and the Zircon Kernel. Aero supports modern PC features such as Long Mode, 5-level paging, and SMP (multicore), to name a few.
Is this a Linux distribution? No, Aero runs its own kernel that does not originate from Linux and does not share any source code or binaries with the Linux kernel.
Official Discord Server: https://discord.gg/8gwhTTZwt8
Please make sure you have a unix-like host system before building Aero. If you are using windows, its highly recommended to use WSL 2.
Before building Aero, you need the following things installed:
rustc
should be the latest nightlyqemu
nasm
g++
5.1 or laterninja
parted
meson
The following are not requirements but are recommendations:
Beefier machines will lead to much faster builds!
The very first step to work on Aero is to clone the repository:
$ git clone https://github.com/Andy-Python-Programmer/aero $ cd aero
aero_build
?aero_build
is a small binary that is used to orchestrate the tooling in the Aero repository. It is used to build docs, run tests, and compile Aero. It is the now preferred way to build Aero and it replaces the old makefiles from before.
Note: Building Aero will require a relatively large amount of storage space. You may want to have upwards of 10 or 15 gigabytes available.
To build Aero, run cargo aero build
. This command will build the bootloader, kernel and userland. The build system builds the respective packages at the following stages:
First we clone the the bootloader prebuilt binaries (limine
) which is responsible for loading the kernel binary from the disk.
Next we build userland (userland/*
), the first task that it does it to clone and install the GCC Aero target and mlibc which can take from 20 minutes to an hour.
Then we build the kernel (aero_kernel
). Since the kernel is central component of an operating system (where the magic happens), it can take from 2 minutes to 5 minutes to compile.
After the build system has finished building all of the subsystems of Aero, next it assembles/packages all of the generated binaries into an aero.iso
file located in the build/
directory.
After the build system has done building Aero we can straight away run the generated aero.iso
file an emulator! This can be done using the cargo aero run
command (which by default uses Qemu as the emulator and can be configured). This command automatically builds Aero and then runs it in the specified emulator. This means that you can straight away run cargo aero run
instead of running cargo aero build
before!
Want to give Aero a shot, without building it! You can go to the latest job and download the latest nightly image (aero.img
), under artifacts.
Contributions are absolutely, positively welcome and encouraged! Check out CONTRIBUTING.md for the contributing guidelines for aero.
Aero is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the LICENSE file for license rights and limitations.