uzbek linux

a linux distro with its own package manager qulay, a service manager and halal repositories.

download iso


repositories

codeberg --> codeberg.org/UzbekLinux
big projects.

hkr.at.by --> hkr.at.by
here live qulay and other small tools.


iso images

core --> minimal build
only kernel, base utils and qulay. no gui. for servers, containers and those who want to build their own system. small size, fast boot.

desktop --> for pcsoon
full system with gui. x11 wm, browser, file manager, terminal, disk management tools. everything you need for work. installs on hardware and vms.

mobile --> for phonessoon
arm devices adaptation. touch interface, mobile cpu optimization. experimental build. roughly on mainline kernels and qualcomm.


qulay

codeberg.org/UzbekLinux/qulay

package manager for uzbek linux. written in go. configs on the uzbekdb-go library. minimal, fast, halal.

features:

β€’ build packages from source
β€’ install from precompiled archives
β€’ fast, no extra checks
β€’ no hashes or heavy validation
β€’ clean control, no bloatware

principles:

β€’ no haram dependencies
β€’ minimalism in code and work
β€’ yes

qulay + <package> - install
qulay - <package> - remove
qulay o - upgrade installed
qulay s <query> - search
qulay u - update repositories
qulay b <source> - build

init

pid 1 = sinit from 2f30, ~80 lines of c. at boot it does exactly one thing: spawns /bin/rc.init. then it just sits and waits for signals: SIGUSR1 β†’ poweroff, SIGINT β†’ reboot. that's all. no configs, no supervision, no logging.

boot chain

kernel β†’ /init (initramfs: modules, mounts, wait root, switch_root)
      β†’ /sbin/init (sinit)
      β†’ /bin/rc.init
      β†’ reads /etc/rc.conf, starts services in order

services

a service is just a folder in /etc/sv: up = start, down = stop, info = what it is. drop an empty respawn file and rc.init will restart it if it dies. getty supervises itself, so it needs no marker.

order

one line in /etc/rc.conf: SERVICES="udev fs network getty". boots in that order, goes down in reverse. need a new service? make a folder, add a word to the list. done.

why

nothing magical: sinit + posix sh, no supervisor daemons. everything readable in a minute, any up script can be run by hand for debugging.


developers

huker667 (@guixism, tunikafon, superisuer) --> the main one

gamadon (@emoji237) --> hosting, domain, Uz.BSD

msh356 --> UzbekNetwork, DE

levev (@yutofur) --> providing compute resources for compiling and building repositories


contact

telegram: @guixism
mail: vrat@hkr.at.by