Debian Live Manual


1. Sobre esse manual

1.1 For the impatient
1.2 Terminologia
1.3 Contribuindo com esse documento
1.3.1 Aplicando patches
1.3.2 Translation

2. About the Debian Live Project

2.1 Motivation
2.1.1 What is wrong with current live systems
2.1.2 Why create our own live system?
2.2 Philosophy
2.2.1 Only unchanged, official packages
2.2.2 No package configuration of the live system
2.3 Contact


3. Installation

3.1 Requirements
3.2 Installing live-build
3.2.1 From the Debian repository
3.2.2 From source
3.2.3 From 'snapshots'
3.3 live-boot and live-config
3.3.1 From the Debian repository
3.3.2 From source
3.3.3 From 'snapshots'

4. The basics

4.1 What is a live system?
4.2 First steps: building an ISO image
4.2.1 Testing an ISO image with Qemu
4.2.2 Testing an ISO image with virtualbox-ose
4.2.3 Burning an ISO image to a physical medium
4.3 Building a USB/HDD image
4.3.1 Copying USB/HDD image to a USB stick
4.3.2 Testing a USB/HDD image with Qemu
4.3.3 Using the space left on a USB stick
4.4 Building a netboot image
4.4.1 DHCP server
4.4.2 TFTP server
4.4.3 NFS server
4.4.4 Netboot testing HowTo
4.4.5 Qemu
4.4.6 VMWare Player

5. Overview of tools

5.1 live-build
5.1.1 The lb config command
5.1.2 The lb build command
5.1.3 The lb clean command
5.2 The live-boot package
5.3 The live-config package

6. Managing a configuration

6.1 Use auto to manage configuration changes
6.2 Example auto scripts

7. Customization overview

7.1 Build time vs. boot time configuration
7.2 Stages of the build
7.3 Supplement lb config with files
7.4 Customization tasks

8. Customizing package installation

8.1 Package sources
8.1.1 Distribution, archive areas and mode
8.1.2 Distribution mirrors
8.1.3 Distribution mirrors used at build time
8.1.4 Distribution mirrors used at run time
8.1.5 Additional repositories
8.2 Choosing packages to install
8.2.1 Choosing a few packages
8.2.2 Package lists
8.2.3 Predefined package lists
8.2.4 Local package lists
8.2.5 Local binary package lists
8.2.6 Extending a provided package list using includes
8.2.7 Using conditionals inside package lists
8.2.8 Tasks
8.2.9 Desktop and language tasks
8.3 Installing modified or third-party packages
8.3.1 Using chroot_local-packages to install custom packages
8.3.2 Using an APT repository to install custom packages
8.3.3 Custom packages and APT
8.4 Configuring APT at build time
8.4.1 Choosing apt or aptitude
8.4.2 Using a proxy with APT
8.4.3 Tweaking APT to save space
8.4.4 Passing options to apt or aptitude
8.4.5 APT pinning

9. Customizing contents

9.1 Includes
9.1.1 Live/chroot local includes
9.1.2 Binary local includes
9.1.3 Binary includes
9.2 Hooks
9.2.1 Live/chroot local hooks
9.2.2 Boot-time hooks
9.2.3 Binary local hooks
9.3 Preseeding Debconf questions

10. Customizing run time behaviours

10.1 Customizing the live user
10.2 Customizing locale and language
10.3 Persistence
10.3.1 Full persistence
10.3.2 Home automounting
10.3.3 Snapshots
10.3.4 Persistent SubText
10.3.5 Partial remastering

11. Customizing the binary image

11.1 Bootloader
11.2 ISO metadata

12. Customizing Debian Installer

12.1 Types of Debian Installer
12.2 Customizing Debian Installer by preseeding
12.3 Customizing Debian Installer content


13. Reporting bugs

13.1 Known issues
13.2 Rebuild from scratch
13.3 Use up-to-date packages
13.4 Collect information
13.5 Isolate the failing case if possible
13.6 Use the correct package to report the bug against
13.6.1 At build time whilst bootstrapping
13.6.2 At build time whilst installing packages
13.6.3 At boot time
13.6.4 At run time
13.7 Do the research
13.8 Where to report bugs

14. Coding Style

14.1 Compatibility
14.2 Indenting
14.3 Wrapping
14.4 Variables
14.5 Miscellaneous

15. Procedures

15.1 Udeb Uploads
15.2 Major Releases
15.3 Point Releases
15.3.1 Point release announcement template


16. Examples

16.1 Using the examples
16.2 Tutorial 1: A standard image
16.3 Tutorial 2: A web browser utility
16.4 Tutorial 3: A personalized image
16.4.1 First revision
16.4.2 Second revision
16.5 A VNC Kiosk Client
16.6 A base image for a 128M USB key
16.7 A localized KDE desktop and installer

Debian Live Manual


15. Procedures

This chapter documents the procedures within the Debian Live project for various tasks that need cooperation with other teams in Debian.

15.1 Udeb Uploads

Before commiting releases of a udeb in d-i svn, one has to call:

   $ ../../scripts/l10n/output-l10n-changes . -d

15.2 Major Releases

Releasing a new stable major version of Debian includes a lot of different teams working together to make it happen. At some point, the Live team comes in and builds live system images. The requirements to do this are:

  • A mirror containing the released versions for the debian, debian-security and debian-volatile archive which the debian-live buildd can access.
  • The names of the image need to be known (e.g. debian-live-VERSION-ARCH-FLAVOUR.iso).
  • The packagelists need to have been updated.
  • The data from debian-cd needs to be synced (udeb exclude lists).
  • The includes from debian-cd needs to be synced (README.*, doc/*, etc.).
  • Images are built and mirrored on
  • 15.3 Point Releases

  • Again, we need updated mirror of debian, debian-security and debian-volatile.
  • Images are built and mirrored on
  • Send announcement mail.
  • 15.3.1 Point release announcement template

    An annoucement mail for point releases can be generated using the template below and the following command:

       $ sed \
           -e 's|%major%|5.0|g' \
           -e 's|%minor%|5.0.2|g' \
           -e 's|%codename%|lenny|g' \
           -e 's|%release_mail%|2009/msg00007.html|g'

    Please check the mail carefully before sending and pass it to others for proof-reading.

       Debian Live images for Debian GNU/Linux %major% updated

       The Debian Live project is pleased to announce the availability of
       updated Live images for its stable distribution Debian GNU/Linux %major%
       (codename "%codename%").

       The images are available for download at:


       This update incorporates the changes made in the %minor% point release,
       which adds corrections for security problems to the stable release
       along with a few adjustments for serious problems. A full list of the
       changes may be viewed at:


       It also includes the following Live-specific changes:



       Download location of updated images:


       Projeto Debian Live Homepage:


       The current stable distribution:


       stable distribution information (release notes, errata etc.):


       Security announcements and information:


       About Debian

       The Debian Project is an association of Free Software developers who
       volunteer their time and effort in order to produce the completely free
       operating system Debian GNU/Linux.

       About Debian Live

       Debian Live is an official sub-project of Debian which produces Debian
       systems that do not require a classical installer. Images are available
       for CD/DVD discs, USB sticks and PXE netbooting as well as a bare
       filesystem images for booting directly from the internet.

       Contact Information

       For further information, please visit the Debian Live web pages at
       <> or alternatively send mail to