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.

LayerComponentNotes
DesktopKDE Plasma 6.6.5Built from source via SmechDeploy
Display serverWayland (KWin compositor)X11/XWayland available for legacy apps
Init systemOpenRCNo systemd — plain shell service scripts
GraphicsMesa (compiled from source)AMD RDNA / Intel / virtio-gpu
ToolkitQt 6Built from source, no distro packages
KernelLinux 6.12.16Compiled by compile_kernel.sh
BootloaderGRUB 2.12EFI + BIOS hybrid
Package managerspkRust binary, fetches .tar.xz from GitHub Releases
Installersmech-installerRust + Newt TUI, netinst
Note SmechOS does not use Portage, APT, DNF, or any other external package manager. 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

Steps

  1. Download the installer ISO from os.smech.xyz/downloads and verify its checksum.
  2. Write to USB:
    sudo dd if=smechos-installer-minimal-netinst.iso of=/dev/sdX bs=4M status=progress && sync
  3. Boot the target machine from the USB. The installer launches automatically.
  4. Follow the TUI wizard: language → country → timezone → hardware detection → network → partitioning → base install → profile → GRUB → done.
  5. Remove the USB and reboot. SmechOS boots into KDE Plasma.
Warning This is an early beta release. The installer boots and walks through all wizard steps but has not been verified for a complete end-to-end install on all real hardware configurations. Treat it as a preview.

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>
Fetches and extracts a system package into the root filesystem. When run on the build host with /mnt/smechos mounted, it targets that mount instead of /.
spk system-install kernel-modules
spk system-install mesa-graphics
spk userland-install <package>
Same as 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-upgrade
Re-fetches and reinstalls every known SmechOS package from the release. Equivalent to a full system update. Requires internet access.
spk entire-system-upgrade
spk about
Displays the Smech-Sovereign Workstation 2026 hardware specs and spk architecture credits.

Known packages

PackageContents
kernel-modulesLinux 6.12.16 kernel modules
firmwareCPU microcode, GPU firmware blobs
bootloader-grubGRUB 2.12 EFI + BIOS binaries
kde-frameworksKDE Frameworks 6 libraries
plasmaKDE Plasma 6.6.5 desktop
qt6Qt 6 runtime libraries
mesa-graphicsMesa OpenGL/Vulkan stack
Note 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.