166 lines
4.1 KiB
Markdown
166 lines
4.1 KiB
Markdown
# SleepeeLinux
|
||
|
||
User Friendly Linux distro tight and complient
|
||
|
||
## link
|
||
|
||
- https://www.youtube.com/watch?v=Pzl1B7nB9Kc
|
||
- https://www.youtube.com/watch?v=qHGTs1NSB1s
|
||
|
||
# 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
|
||
```
|