SmechOS Overview
SmechOS is an independent Linux distribution built entirely from source. It is not based on any existing distribution — no Gentoo, no Ubuntu, no Arch. The kernel, installer, package manager, and desktop are all maintained as first-party components.
Architecture
SmechOS is assembled by SmechDeploy — a pipeline of shell and Python scripts that compile upstream sources and write the result into raw disk images.
| Layer | Component | Notes |
|---|---|---|
| Desktop | KDE Plasma 6.6.5 | Built from source via SmechDeploy |
| Display server | Wayland (KWin compositor) | X11/XWayland available for legacy apps |
| Init system | OpenRC | No systemd — plain shell service scripts |
| Graphics | Mesa (compiled from source) | AMD RDNA / Intel / virtio-gpu |
| Toolkit | Qt 6 | Built from source, no distro packages |
| Kernel | Linux 6.12.16 | Compiled by compile_kernel.sh |
| Bootloader | GRUB 2.12 | EFI + BIOS hybrid |
| Package manager | spk | Rust binary, fetches .tar.xz from GitHub Releases |
| Installer | smech-installer | Rust + Newt TUI, netinst |
spk downloads pre-built tarballs from the SmechDeploy GitHub Release
and extracts them directly. There is no package database or dependency resolver —
packages are designed to be self-contained.
Installing
SmechOS ships as a network installer ISO (netinst). The installer
downloads packages from the internet during installation — you need a wired
Ethernet connection for the install process.
Requirements
- x86_64 CPU with SSE4.2
- 4 GB RAM minimum (8 GB recommended for KDE Plasma)
- 40 GB disk space minimum
- UEFI or BIOS boot
- Wired Ethernet for the installer
Steps
- Download the installer ISO from os.smech.xyz/downloads and verify its checksum.
- Write to USB:
sudo dd if=smechos-installer-minimal-netinst.iso of=/dev/sdX bs=4M status=progress && sync - Boot the target machine from the USB. The installer launches automatically.
- Follow the TUI wizard: language → country → timezone → hardware detection → network → partitioning → base install → profile → GRUB → done.
- Remove the USB and reboot. SmechOS boots into KDE Plasma.
spk — SmechOS Package Manager
spk (SmechOS Sovereign Package Keeper) is a zero-dependency Rust binary
that manages packages on a running SmechOS system. It does not call
emerge, apt, flatpak, or any other external
package manager. Every package is a .tar.xz archive fetched from the
SmechDeploy GitHub Releases
via curl and extracted with tar.
Commands
spk system-install <package>/mnt/smechos mounted,
it targets that mount instead of /.
spk system-install kernel-modules
spk system-install mesa-graphics
spk userland-install <package>system-install but semantically intended for desktop
applications and userland packages. Behaves identically under the hood.
spk userland-install plasma
spk userland-install kde-frameworks
spk entire-system-upgradespk entire-system-upgrade
spk aboutKnown packages
| Package | Contents |
|---|---|
kernel-modules | Linux 6.12.16 kernel modules |
firmware | CPU microcode, GPU firmware blobs |
bootloader-grub | GRUB 2.12 EFI + BIOS binaries |
kde-frameworks | KDE Frameworks 6 libraries |
plasma | KDE Plasma 6.6.5 desktop |
qt6 | Qt 6 runtime libraries |
mesa-graphics | Mesa OpenGL/Vulkan stack |
base-system is not yet in the known package list — the tarball
in the current release is incomplete and needs to be rebuilt.
Use the installer ISO for fresh installs.
Building from Source
SmechOS is built entirely by SmechDeploy. See the SmechDeploy documentation for the full pipeline and script reference.
# Clone SmechDeploy
git clone https://github.com/Smech-Labs/SmechDeploy.git
cd SmechDeploy
# Run the full SmechOS build (requires root for mount/chroot steps)
bash bin/build_smechos.sh
The build reads build_order.txt and runs each script in order.
Phase 1 operates directly on images/part2.img via
debugfs without mounting. Phase 2 compiles sources from
essentials/ into /mnt/smechos.