Debian Live Manual Debian Live Project <debian-live@lists.debian.org>

# Debian Live Manual

# About

# About this manual

#### 1. About this manual

##### 1.1 For the impatient

##### 1.2 Terms

##### 1.3 Authors

##### 1.4 Contributing to this document

###### 1.4.1 Applying changes

###### 1.4.2 Translation

# About the Debian Live Project

#### 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 packages from Debian "main"

###### 2.2.2 No package configuration of the live system

##### 2.3 Contact

# User

# Installation

#### 3. Installation

##### 3.1 Requirements

##### 3.2 Installing live-build

###### 3.2.1 From the Debian repository

###### 3.2.2 From source

##### 3.3 Installing live-boot and live-config

###### 3.3.1 From the Debian repository

###### 3.3.2 From source

# The basics

#### 4. The basics

##### 4.1 What is a live system?

##### 4.2 First steps: building an ISO hybrid image

##### 4.3 Using an ISO hybrid live image

###### 4.3.1 Burning an ISO image to a physical medium

###### 4.3.2 Copying an ISO hybrid image to a USB stick

###### 4.3.3 Using the space left on a USB stick

###### 4.3.4 Booting the live medium

##### 4.4 Using a virtual machine for testing

###### 4.4.1 Testing an ISO image with QEMU

###### 4.4.2 Testing an ISO image with VirtualBox

##### 4.5 Building and using an HDD image

##### 4.6 Building a netboot image

###### 4.6.1 DHCP server

###### 4.6.2 TFTP server

###### 4.6.3 NFS server

###### 4.6.4 Netboot testing HowTo

###### 4.6.5 Qemu

##### 4.7 Webbooting

###### 4.7.1 Getting the webboot files

###### 4.7.2 Booting webboot images

# Overview of tools

#### 5. Overview of tools

##### 5.1 The live-build package

###### 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

# Managing a configuration

#### 6. Managing a configuration

##### 6.1 Dealing with configuration changes

###### 6.1.1 Why use auto scripts? What do they do?

###### 6.1.2 Use example auto scripts

##### 6.2 Clone a configuration published via Git

# Customizing contents

#### 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

# Customizing package installation

#### 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 Package lists

###### 8.2.2 Using metapackages

###### 8.2.3 Local package lists

###### 8.2.4 Local binary package lists

###### 8.2.5 Generated package lists

###### 8.2.6 Using conditionals inside package lists

###### 8.2.7 Removing packages at install time

###### 8.2.8 Desktop and language tasks

###### 8.2.9 Kernel flavour and version

###### 8.2.10 Custom kernels

##### 8.3 Installing modified or third-party packages

###### 8.3.1 Using `packages.chroot` 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

# Customizing contents

#### 9. Customizing contents

##### 9.1 Includes

###### 9.1.1 Live/chroot local includes

###### 9.1.2 Binary local includes

##### 9.2 Hooks

###### 9.2.1 Chroot local hooks

###### 9.2.2 Binary local hooks

###### 9.2.3 Boot-time hooks

##### 9.3 Preseeding Debconf questions

# Customizing run time behaviours

#### 10. Customizing run time behaviours

##### 10.1 Customizing the live user

##### 10.2 Customizing locale and language

##### 10.3 Persistence

###### 10.3.1 The persistence.conf file

###### 10.3.2 Using more than one persistence store

###### 10.3.3 Using persistence with encryption

# Customizing the binary image

#### 11. Customizing the binary image

##### 11.1 Bootloaders

##### 11.2 ISO metadata

# Customizing Debian Installer

#### 12. Customizing Debian Installer

##### 12.1 Types of Debian Installer

##### 12.2 Customizing Debian Installer by preseeding

##### 12.3 Customizing Debian Installer content

# Project

# Contributing to the project

#### 13. Contributing to the project

##### 13.1 Translation of man pages

# Reporting bugs

#### 14. Reporting bugs

##### 14.1 Known issues

##### 14.2 Do the research

##### 14.3 Rebuild from scratch

##### 14.4 Use up-to-date packages

##### 14.5 Collect information

##### 14.6 Isolate the failing case if possible

##### 14.7 Use the correct package to report the bug against

###### 14.7.1 At build time while bootstrapping

###### 14.7.2 At build time while installing packages

###### 14.7.3 At boot time

###### 14.7.4 At run time

##### 14.8 Where to report bugs

# Coding Style

#### 15. Coding Style

##### 15.1 Compatibility

##### 15.2 Indenting

##### 15.3 Wrapping

##### 15.4 Variables

##### 15.5 Miscellaneous

# Examples

#### 16. Examples

##### 16.1 Using the examples

##### 16.2 Tutorial 1: A default 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 128MB USB key

##### 16.7 A localized GNOME desktop and installer

# Appendix

# Style guide

#### 17. Style guide

##### 17.1 Guidelines for authors

###### 17.1.1 Linguistic features

###### 17.1.2 Procedures

##### 17.2 Guidelines for translators

###### 17.2.1 Translation hints

# Metadata

#### SiSU Metadata, document information

Rights: Copyright: Copyright (C) 2006-2015 Live Systems Project, Copyright (C) 2016-2020 The Debian Live team
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.