created roadmap, need some polish and change some of the things, as i am not able to use wayland for my workflow (bad under vm)

This commit is contained in:
fatmeat 2025-05-11 22:37:47 +02:00
parent 5706e34c8f
commit 6c9ed0994b
3 changed files with 166 additions and 1 deletions

164
README.md
View File

@ -1,3 +1,165 @@
# SleepeeLinux
User Friendly Linux distro tight and complient
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
```

0
sleepee_sdk/Makefile Normal file
View File

3
source/init.c Normal file
View File

@ -0,0 +1,3 @@
int main(void) {
}