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:
parent
5706e34c8f
commit
6c9ed0994b
162
README.md
162
README.md
@ -1,3 +1,165 @@
|
||||
# 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
|
||||
```
|
||||
|
||||
0
sleepee_sdk/Makefile
Normal file
0
sleepee_sdk/Makefile
Normal file
3
source/init.c
Normal file
3
source/init.c
Normal file
@ -0,0 +1,3 @@
|
||||
int main(void) {
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user