Skip to content

Repository files navigation

rlos

An experimental minimal Linux boot chain - a step toward rl-lang's long-arc goal of building an OS userspace in rl-lang.

Currently: custom-built kernel + a minimal initramfs booting into a shell. Init is C for now; userspace binaries include rl running inside the environment. rl-lang's own coreutils/shell (rlsh, core-utils) are the intended long-term replacement for busybox.

Status

  • Kernel builds and boots in QEMU
  • Minimal initramfs (mount proc/sys/dev, console setup, exec into a shell)
  • busybox as interim shell
  • rl binary runs inside the environment
  • rl-lang shell (rlsh) as PID 1's shell, replacing busybox
  • Init rewritten in rl-lang

Build order

1. Kernel

Clone and build the kernel, using the config in this repo:

./compile_kernel.sh

2. Init

./compile_init.sh

Compiles init.c.

3. Rootfs

./build_rootfs.sh

4. Pack initramfs

./compile_initramfs.sh

5. Boot

./run_qemu.sh

License

MIT - see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages