4.1 KiB
4.1 KiB
SleepeeLinux
User Friendly Linux distro tight and complient
link
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