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
164
README.md
164
README.md
@ -1,3 +1,165 @@
|
|||||||
# SleepeeLinux
|
# 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
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