finnix-live-build
is Finnix's image build system, and is a wrapper around
Debian Live's live-build
system.
Requirements:
- Debian testing/sid, or Ubuntu 20.04 focal or later.
- live-build, built from live-build git
HEAD.
- This is available as a git submodule in this repository.
- While upstream HEAD is usually fine, the link above (and this repository's submodule) points to a Finnix-specific branch which is usually in sync with live-build upstream, but sometimes includes fixes/changes which have not (yet) been accepted upstream.
- See
build-dependencies.json
for required host packages.
This can be built on dedicated hardware, in a virtual machine, or in a systemd-nspawn container. Building in a chroot within one of these environments is supported. Docker and LXD containers are not supported, as they do not allow mounting proc/devpts (even the container-specific restricted versions), required by live-build/debootstrap.
The default build directory will be build/lb/
from the script directory.
- Weekly AMD64 builds are made on the GitHub finnix-live-build "schedule" workflow, with ISO build artifacts uploaded. The "ci" workflow is built on each push as an indication, but artifacts are not available.
- Daily AMD64 builds are made on a container in a colocated environment, with ISO build artifacts uploaded to snapshots.finnix.org.
- Indicator builds are built on my home CI system for many architectures (see below). Artifacts are not publicly available. Most architectures are built daily, except for slow pure emulation architectures like s390x and ppc64el.
finnix-live-build supports multiple architectures, but are considered in multiple tiers:
- amd64
The only supported architecture in the sense that ISOs are officially released. Built images are tested often. Build failures are a blocker and fixed ASAP.
- arm64
- i386
While ISOs are not officially released, these are still considered important architectures. Built images are tested often. Build failures are a blocker and fixed soon.
- armhf
- ppc64el
- riscv64
- s390x
Not supported, and produced images are not directly bootable. However, they can be booted by direct kernel/initrd boot in QEMU, and are tested occasionally. Build failures are not a blocker.
To open a Finnix issue, please use the main Finnix issue tracker, not this repository's. Pull requests will be considered here, but you probably also want to open an issue to track it.
If you are looking to build a live environment which is outside of the scope of Finnix's goals, feel free to use this build repository as a base. In essence, this repository is a thin wrapper around live-build, and builds upon the massive work done by the Debian Live project. I encourage you to study this repository and live-build, and to experiment with your own builds.
If you do produce builds based directly off the finnix-live-build repository,
please change the branding to indicate it is not an official Finnix release.
Please see the top of finnix-live-build
for branding-related variables.
The finnix-live-build package is mostly licensed under the terms of the Mozilla Public License v2.0, but please check individual files for license terms.
This document is provided under the following license:
SPDX-PackageSummary: finnix-live-build
SPDX-FileCopyrightText: Copyright (C) 2020-2024 Ryan Finnie
SPDX-License-Identifier: CC-BY-SA-4.0