Live Systems Manual

Table of Contents


About this manual

About this manual

For the impatient



Contributing to this document

Applying changes


About the ${project}

About the ${project}


What is wrong with current live systems

Why create our own live system?


Only unchanged packages from Debian “main”

No package configuration of the live system






Installing live-build

From the Debian repository

From source

From 'snapshots'

Installing live-boot and live-config

From the Debian repository

From source

From 'snapshots'

The basics

The basics

What is a live system?

Downloading prebuilt images

Using the web live image builder

Web builder usage and caveats

First steps: building an ISO hybrid image

Using an ISO hybrid live image

Burning an ISO image to a physical medium

Copying an ISO hybrid image to a USB stick

Using the space left on a USB stick

Booting the live medium

Using a virtual machine for testing

Testing an ISO image with QEMU

Testing an ISO image with VirtualBox

Building and using an HDD image

Building a netboot image

DHCP server

TFTP server

NFS server

Netboot testing HowTo



Getting the webboot files

Booting webboot images

Overview of tools

Overview of tools

The live-build package

The lb config command

The lb build command

The lb clean command

The live-boot package

The live-config package

Managing a configuration

Managing a configuration

Dealing with configuration changes

Why use auto scripts? What do they do?

Use example auto scripts

Clone a configuration published via Git

Customizing contents

Customization overview

Build time vs. boot time configuration

Stages of the build

Supplement lb config with files

Customization tasks

Customizing package installation

Customizing package installation

Package sources

Distribution, archive areas and mode

Distribution mirrors

Distribution mirrors used at build time

Distribution mirrors used at run time

Additional repositories

Choosing packages to install

Package lists

Using metapackages

Local package lists

Local binary package lists

Generated package lists

Using conditionals inside package lists

Removing packages at install time

Desktop and language tasks

Kernel flavour and version

Custom kernels

Installing modified or third-party packages

Using packages.chroot to install custom packages

Using an APT repository to install custom packages

Custom packages and APT

Configuring APT at build time

Choosing apt or aptitude

Using a proxy with APT

Tweaking APT to save space

Passing options to apt or aptitude

APT pinning

Customizing contents

Customizing contents


Live/chroot local includes

Binary local includes


Live/chroot local hooks

Boot-time hooks

Binary local hooks

Preseeding Debconf questions

Customizing run time behaviours

Customizing run time behaviours

Customizing the live user

Customizing locale and language


The persistence.conf file

Using more than one persistence store

Using persistence with encryption

Customizing the binary image

Customizing the binary image


ISO metadata

Customizing Debian Installer

Customizing Debian Installer

Types of Debian Installer

Customizing Debian Installer by preseeding

Customizing Debian Installer content


Contributing to the project

Contributing to the project

Making changes

Reporting bugs

Reporting bugs

Known issues

Rebuild from scratch

Use up-to-date packages

Collect information

Isolate the failing case if possible

Use the correct package to report the bug against

At build time while bootstrapping

At build time while installing packages

At boot time

At run time

Do the research

Where to report bugs

Coding Style

Coding Style








Major Releases

Point Releases

Last Point Release of a Debian Release

Point release announcement template

Git repositories

Git repositories

Handling multiple repositories




Using the examples

Tutorial 1: A default image

Tutorial 2: A web browser utility

Tutorial 3: A personalized image

First revision

Second revision

A VNC Kiosk Client

A base image for a 128MB USB key

A localized GNOME desktop and installer


Style guide

Style guide

Guidelines for authors

Linguistic features


Guidelines for translators

Translation hints

License: This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

The complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-3 file.

≅ SiSU Spine ፨ (object numbering & object search)

(web 1993, object numbering 1997, object search 2002 ...) 2024