archived: replaced by noctix
- Shell 55.1%
- Python 44.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- 16 bin/ xbps wrappers resolve via readlink -f into musl/{bin,lib}
(new wrappers: alternatives, checkvers, dgraph, fbulk, uchroot, uunshare)
- glibc originals parked in bin-glibc/
- distros/base.py _run sets XBPS_TELEMETRY=no so ISO package installs
never ping pkgs.euri-linux.pl (host wrappers keep manual pings working)
|
||
| euri_mklive | ||
| examples | ||
| LICENSES | ||
| .gitignore | ||
| installer.sh | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
euri-mklive
universal CLI iso builder. any distro, from any distro.
build a debian iso on arch. an arch iso on fedora. an artix iso on ubuntu. doesn't matter.
what's included in the ISO
every ISO ships with:
- all package manager binaries (xbps, pacman, apt, dnf, apk, dpkg — whichever the distro uses)
- GPL-2.0 license files for each package manager (see
LICENSES/) - the packages you specified in your config
- a working bootloader (GRUB)
you can use the shipped package managers offline to install/upgrade/remove packages without an internet connection, as long as you have a local repo.
install
pip install .
# or
pipx install .
usage
# see what's supported
euri-mklive supported
# build from a config
euri-mklive build my-config.yaml -o ./output
config
yaml config that defines everything:
distro: artix # debian | ubuntu | arch | artix | void | alpine | fedora
arch: x86_64
init: dinit # dinit | openrc | runit | s6
hostname: mydistro
iso:
name: My Distro
version: "1.0"
label: MYDISTRO
users:
- name: user
shell: /bin/bash
groups: [wheel]
packages:
- linux
- plasma-desktop
- nano
- git
services:
- connmand
- sddm
supported distros
| distro | bootstrap tool | init systems | package manager |
|---|---|---|---|
| debian | debootstrap | systemd | apt/dpkg |
| ubuntu | debootstrap | systemd | apt/dpkg |
| arch | pacstrap | systemd | pacman |
| artix | basestrap | openrc, runit, s6, dinit | pacman |
| void | xbps-install | runit, dinit | xbps |
| alpine | apk | openrc | apk |
| fedora | dnf | systemd | dnf |
how it works
- reads your yaml config
- bootstraps the target distro into a temporary rootfs
- installs your packages + ensures package manager binaries are present
- configures users, services, hostname
- installs the bootloader (GRUB)
- copies package manager binaries + GPL-2.0 licenses into ISO
- squashes the rootfs into a bootable ISO
- done.
licenses
see LICENSES/ for the full GPL-2.0 text for each package manager shipped.
license
euri-mklive itself is GPL-2.0. see LICENSE.