Ubuntu image builds

This page explains how Ubuntu ISO and preinstalled image builds work, from trigger to publication.

Overview

Ubuntu produces several image types:

  • Classic installer ISOs (Desktop, Server) — e.g. ubuntu/daily-live/current/

  • Classic preinstalled images — e.g. ubuntu-server/daily-preinstalled/current/

  • Core preinstalled images (ubuntu-core) — e.g. ubuntu-core/18/stable/current/

Build pipeline

  1. Trigger — An image build is triggered automatically via cron or manually using the web UI.

  2. ubuntu-cdimage — The central orchestrator. It starts livefs builds on Launchpad, downloads results, runs debian-cd, and publishes images.

  3. Setupubuntu-cdimage performs basic project setup for the requested build configuration.

  4. livefs buildsubuntu-cdimage starts livefs builds on Launchpad for each requested architecture, using live-build to create the rootfs.

  5. livecd-rootfs — An Ubuntu config overlay for live-build that customizes the rootfs build. Key customization hooks:

    • auto/config — initial configuration (project, arch, sub-architecture)

    • .chroot hooks — modify the rootfs contents

    • auto/build — finalise the rootfs build

    • .binary hooks — final customization

  6. Mirror sync — A local mirror is synchronised in parallel to ensure no packages are stale.

  7. Intermediate stepsubuntu-cdimage runs germinate and other preparation steps.

  8. Wait for livefsubuntu-cdimage waits for all livefs builds to complete and downloads them. Failed builds are reported by email to ubuntu-cdimage members.

  9. debian-cdubuntu-cdimage calls debian-cd to create installer images:

    • Prepares the installer package pool

    • Configures boot (Grub, kernel selection)

    • Makes images bootable

    • Generates ISOs via xorriso

    • Generates file manifests

  10. Publishingubuntu-cdimage copies images to the relevant build-stamp directory and performs a mirror sync to publish.

Useful resources