Polaris Logo by Toastito 注意: 此代码库将不再维护。计划从头开始重新启动此项目。随着时间的推移,…
This codebase will no longer be maintained. There are plans to restart this project from scratch. Over time, I've learned more about OS development and feel like I could do a lot of things differently now. Feel free to look around the code, but be warned there may be some bugs lurking here and there.
Polaris is an UNIX-like kernel written in C, which uses Limine as its default bootloader and boot protocol. It's goal is to be simple to build and understand, while also acting as a learning experience.
[!WARNING] Polaris is under active development and is not suitable for real usage.
Building requires a Linux environment, Windows users may use WSL2 without issues.
make jinx to download the jinx script used for building Polaris' userspacemake userspace-base on the repository's root to build a base system. Run make userspace-full on the repository's root to build all the packages ported.make to generate an ISO image.It is recommended to use QEMU for ease of use. An example command to run Polaris would be as follows: Since the entire rootfs is in the ramdisk atleast 8 gigabytes of memory is needed for the entire userspace. userspace-base can be used if you don't have the required memory free.
We intend to move the rootfs to disk later on but for now you need to allocate minimum 8 gigabytes.
qemu-system-x86_64 -M q35 -m 8192M -cdrom [ISO path] -serial stdio -boot d -smp 4Here are some additional options:
-cpu qemu64,+la57: Tests level 5 paging support.-accel kvm -cpu host: Enables KVM (requires host support).We would appreciate issues and pull requests, any help is appreciated! A detailed contribution guide will be added later into development.
Polaris is licensed under the Apache License 2.0 which you can read here.
…………暂无开放 Issues,或尚未同步最近议题。