A Linux kernel based operating system.
This is my testing ground for learning the operating system, and I want to implement it in a different way from the traditional.
I want this new OS to keep the following features:
- As far as I know, Rust will be merged into the Linux kernel. In this operating system, it uses Rust as much as possible to develop core software.
- All software will be statically compiled as much as possible to ensure that you can use the latest or very old version, no matter what the libc version is.
- Use modern alternatives to essential command line tools as much as possible.
- Use the latest software version whenever possible.
Requirements:
- Newer macOS or Linux operating system.
- Newer Docker installed.
- Newer Rust installed (will be installed automatically via the
make setup
command).
Run below commands:
# setup the development environment
make setup
# make all targets
make all
Build and run manually:
make docker-image && make docker-run
or use a pre-built version:
docker run -it --rm ghcr.io/leizongmin/newos:main
- Core software:
- Boot:
- Build the Linux Kernel from source.
- Use GRUB as the boot loader.
- Start and develop with QEMU.
- Text-based Installer.
- GUI:
- Wayland.
- A window manager written in Rust.
- Sandbox:
- A container sandbox written in Rust. From this sandbox, applications can be run in the environment of other Linux distributions.
Under the terms of the MIT License.