SleepeeLinux/README.md

4.1 KiB
Raw Blame History

SleepeeLinux

User Friendly Linux distro tight and complient

Full OS Project Roadmap

PHASE 1 Base OS Foundation

Objective

  • Build a minimal Linux-based OS with tight ABI, musl, static core, and dynamic userland.

  • Custom kernel build
  • musl-based root filesystem
  • Static init system (e.g., s6 or custom shell)
  • BusyBox shell environment
  • Filesystem layout (/core, /etc, /usr/lib/abi, /home, etc.)
  • Nightly build system (Make or Nix)

Tasks

  • Patch and build mainline kernel with minimal config
  • Build static BusyBox with musl
  • Create a shell-based or s6 init system
  • Write build scripts to generate bootable ISO or rootfs
  • Implement basic bootloader (GRUB or syslinux)

PHASE 2 ABI Layer + Developer SDK

Objective

  • Freeze a minimal ABI for app developers to build and ship binaries.

  • /usr/lib/abi with versioned .so files
  • /opt/os-sdk/ toolchain with musl-gcc wrapper
  • Developer docs and examples
  • First binary built and validated

ABI Libs to Include

| Library	| Use Case			| Notes
| musl libc	| C runtime			| static or dynamic
| SDL2		| window/input/audio		| required for Raylib
| libGL / EGL	| OpenGL context creation	| Mesa or minimal GL loader
| libm		| math				| part of musl
| libX11 (opt.)	| legacy apps			| optional, only if needed(for vm or nvidia)
| Vulkan loader	| futureproof graphics		| optional, can be added later

Tasks

  • Package musl, SDL2, libGL as .so into /usr/lib/abi
  • Create musl-gcc and pkg-config wrappers
  • Write validation tool (ldscan) to check ABI compliance
  • Provide example apps + Makefiles

PHASE 3 Graphical Stack and DE Base

Objective

  • Lightweight graphical shell environment for average users.

  • Compositer
  • Power Menu
  • Bar
  • Launcher
  • Settings GUI (network, user, appearance)

Tasks

  • Integrate X11 and/or wayland
  • Write graphical session launcher
  • Build GUI apps from scratch (with raylib/sdl)
  • Start design of your desktop shell (tcsh ?)

PHASE 4 Packaging System + Updates

Objective

  • Simple, isolated, non-breaking packaging system for apps.

  • /usr/opt/pkgname-version/ layout
  • pkg CLI tool to install/remove
  • App registry / manifest format
  • Nightly rootfs + rollback support

Tasks

  • Write pkg.sh script
  • Design atomic rootfs layout (/os/prev, /os/next)
  • Nightly rootfs builder with validation
  • Add fallback boot logic in bootloader

PHASE 5 Developer-Facing UX

Objective

  • Allow devs to easily write and ship apps, especially games.

  • Full dev toolchain
  • Dev GUI for building/debugging
  • Raylib support

Toolchain Stack

| Tool		| Purpose			| Info
| musl-gcc	| core compiler wrapper		| in SDK
| nasm/as	| assembler			| if writing low-level code
| ld		| linker			| via toolchain
| make		| build system			| in SDK
| pkg-config	| dependency resolution		| with SDK
| qemu		| test builds			| for CI & VM testing
| strace	| syscall inspection		| debugging ABI use
| ldscan	| custom ELF ABI validator	| write your own
| sdl2, raylib	| graphics/audio/input		| include in ABI
| wlroots	| Wayland compositor base	| needed for GUI stack
| x11		| gui				| needed for GUI stack

Raylib Integration Plan

  • Raylib is an ideal match:
    • Lightweight
    • No external dependencies beyond OpenGL and audio
    • Compatible with musl

Tasks:

  • Build Raylib against musl with dynamic SDL2 / OpenGL
  • Ship as /usr/lib/abi/libraylib.so
  • Provide raylib.pc for pkg-config
  • Include raylib examples in SDK

Bonus Features (Future Phases)

  • Dev sandboxing with bwrap
  • App profiles for permissions (network, fs access)
  • Web runtime (WebView2 or Wry) if desired

Summary Roadmap Phases

| Phase	| Name				| Focus
|   1	| Minimal OS Core		| kernel, init, musl, static tools
|   2	| ABI Freeze + Dev SDK		| /usr/lib/abi, SDK, build pipeline
|   3	| GUI Stack + Desktop Shell	| Wayland, bar, launcher, GUI apps
|   4	| Packaging + Updates		| nightly builds, rollback, pkg tool
|   5	| Dev UX + Raylib Support	| raylib, graphical dev tools, CI