live-boot - System Boot Scripts


live-boot contains the scripts that configure a Debian Live system during the boot process (early userspace).

live-boot is a hook for the initramfs-tools, used to generate a initramfs capable to boot live systems, such as those created by live-helper(7). This includes the Debian Live isos, netboot tarballs, and usb stick images.

At boot time it will look for a (read-only) media containing a "/live" directory where a root filesystems (often a compressed filesystem image like squashfs) is stored. If found, it will create a writable environment, using aufs, for Debian like systems to boot from.


live-boot can be configured through a boot parameter or a configuration file.

3.1. Kernel Parameters

live-boot is only activated if 'boot=live' was used as a kernel parameter.

In addition, there are some more boot parameters to influence the behaviour, see below.

3.2. Configuration Files

live-boot can be configured (but not activated) through configuration files. Those files can be placed either in the root filesystem itself (/etc/live/boot.conf, /etc/live/boot.d/), or on the live media (live/boot.conf, live/boot.d/).


live-boot currently features the following parameters.

access=ACCESS 4 Set the accessibility level for physically or visually impared users. ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, m2=moderate motor difficulties.

console=TTY,SPEED 4 Set the default console to be used with the "live-getty" option. Example: "console=ttyS0,115200"

debug 4 Makes initramfs boot process more verbose.
Use: debug=1
Without setting debug to a value the messages may not be shown.

fetch=URL 4

httpfs=URL 4 Another form of netboot by downloading a squashfs image from a given url. The fetch method copies the image to ram and the httpfs method uses fuse and httpfs2 to mount the image in place. Copying to ram requires more memory and might take a long time for large images. However, it is more likely to work correctly because it does not require networking afterwards and the system operates faster once booted because it does not require to contact the server anymore.
Due to current limitations in busyboxs wget and DNS resolution, an URL can not contain a hostname but an IP only.
Not working: http://example.com/path/to/your_filesystem.squashfs
Also note that therefore it's currently not possible to fetch an image from a namebased virtualhost of an httpd if it is sharing the ip with the main httpd instance.
You may also use the live iso image in place of the squashfs image.

iscsi=server-ip[,server-port];target-name 4 Boot from an iSCSI target that has an iso or disk live image as one of its LUNs. The specified target is searched for a LUN which looks like a live media. If you use the iscsitarget software iSCSI target solution which is packaged in Debian your ietd.conf might look like this:
# The target-name you specify in the iscsi= parameter
Target <target-name> Lun 0 Path=<path-to-your-live-image.iso>,Type=fileio,IOMode=ro # If you want to boot multiple machines you might want to look at tuning some parameters like # Wthreads or MaxConnections

fromiso=\fI/PATH/TO/IMAGE\fI 4 Allows to use a filesystem from within an iso image that's available on live-media.

ignore_uuid 4 Do not check that any UUID embedded in the initramfs matches the discovered medium. live-boot may be told to generate a UUID by setting LIVE_GENERATE_UUID=1 when building the initramfs.

integrity-check 4 If specified, an MD5 sum is calculated on the live media during boot and compared to the value found in md5sum.txt found in the root directory of the live media.

ip=[CLIENT_IP]:[SERVER_IP]:[GATEWAY_IP]:[NETMASK]:[HOSTNAME]:[DEVICE]:[AUTOCONF] [,[CLIENT_IP]:[SERVER_IP]:[GATEWAY_IP]:[NETMASK]:[HOSTNAME]:[DEVICE]:[AUTOCONF]] 4 Let you specify the name(s) and the options of the interface(s) that should be configured at boot time. Do not specify this if you want to use dhcp (default). It will be changed in a future release to mimick official kernel boot param specification (e.g. ip=,:::::eth1:dhcp).

ip=[frommedia] 4 If this variable is set, dhcp and static configuration are just skipped and the system will use the (must be) media-preconfigured /etc/network/interfaces instead.

{live-media|bootfrom}=DEVICE 4 If you specify one of this two equivalent forms, live-boot will first try to find this device for the "/live" directory where the read-only root filesystem should reside. If it did not find something usable, the normal scan for block devices is performed.
Instead of specifing an actual device name, the keyword 'removable' can be used to limit the search of acceptable live media to removable type only. Note that if you want to further restrict the media to usb mass storage only, you can use the 'removable-usb' keyword.

{live-media-encryption|encryption}=\fITYPE\fI 4 live-boot will mount the encrypted rootfs TYPE, asking the passphrase, useful to build paranoid live systems :-). TYPE supported so far are "aes" for loop-aes encryption type.

live-media-offset=BYTES 4 This way you could tell live-boot that your image starts at offset BYTES in the above specified or autodiscovered device, this could be useful to hide the Debian Live iso or image inside another iso or image, to create "clean" images.

live-media-path=PATH 4 Sets the path to the live filesystem on the medium. By default, it is set to '/live' and you should not change that unless you have customized your media accordingly.

live-media-timeout=\fISECONDS\fI 4 Set the timeout in seconds for the device specified by "live-media=" to become ready before giving up.

module=NAME 4 Instead of using the default optional file "filesystem.module" (see below) another file could be specified without the extension ".module"; it should be placed on "/live" directory of the live medium.

netboot[=nfs|cifs] 4 This tells live-boot to perform a network mount. The parameter "nfsroot=" (with optional "nfsopts="), should specify where is the location of the root filesystem. With no args, will try cifs first, and if it fails nfs.

nfsopts= 4 This lets you specify custom nfs options.

nofastboot 4 This parameter disables the default disabling of filesystem checks in /etc/fstab. If you have static filesystems on your harddisk and you want them to be checked at boot time, use this parameter, otherwise they are skipped.

nopersistent 4 disables the "persistent" feature, useful if the bootloader (like syslinux) has been installed with persistent enabled.

noprompt 4 Do not prompt to eject the CD or remove the USB flash drive on reboot.

swapon 4 This parameter enables usage of local swap partitions.

persistent[={nofiles|cryptsetup}] 4 live-boot will look for persistent and snapshot partitions or files labeled "live-rw", "home-rw", and files called "live-sn*", "home-sn*" and will try to, in order: mount as /cow the first, mount the second in /home, and just copy the contents of the latter in appropriate locations (snapshots). Snapshots will be tried to be updated on reboot/shutdown. Look at live-snapshot(1) for more informations.
If "nofiles" is specified, only filesystems with matching labels will be searched; no filesystems will be traversed looking for archives or image files. This results in shorter boot times.
If "cryptsetup" is specified, filesystems stored on Luks-encrypted devices will be considered as well as others when searching for a persistence filesystem; the user will be prompted for any needed decryption passphrase.

persistent-path=PATH 4 live-boot will look for persistency files in the root directory of a partition, with this parameter, the path can be configured so that you can have multiple directories on the same partition to store persistency files.

persistent-subtext=SUFFIX 4 Add a suffix when searching for the image filenames or partition labels to use for the above mentioned persistent feature, the SUFFIX will be added after a dash (e.g.: "live-sn" would transform to "live-sn-SUFFIX"). This is handy to test multiple live-boot based live-systems with different persistent storage choices.

{preseed/file|file}=FILE 4 A path to a file present on the rootfs could be used to preseed debconf database.

package/question=VALUE 4 All debian installed packages could be preseeded from command-line that way, beware of blanks spaces, they will interfere with parsing, use a preseed file in this case.

quickreboot 4 This option causes live-boot to reboot without attempting to eject the media and without asking the user to remove the boot media.

showmounts 4 This parameter will make live-boot to show on "/" the ro filesystems (mostly compressed) on "/live". This is not enabled by default because could lead to problems by applications like "mono" which store binary paths on installation.

silent 4 If you boot with the normal quiet parameter, live-boot hides most messages of its own. When adding silent, it hides all.

todisk=DEVICE 4 Adding this parameter, live-boot will try to copy the entire read-only media to the specified device before mounting the root filesystem. It probably needs a lot of free space. Subsequent boots should then skip this step and just specify the "live-media=DEVICE" boot parameter with the same DEVICE used this time.

toram 4 Adding this parameter, live-boot will try to copy the whole read-only media to the computer's RAM before mounting the root filesystem. This could need a lot of ram, according to the space used by the read-only media.

union=aufs|unionfs\fR 4 By default, live-boot uses aufs. With this parameter, you can switch to unionfs.

5. FILES (old)

/etc/live.conf 4 Some variables can be configured via this config file (inside the live system).

live/filesystem.module 4 This optional file (inside the live media) contains a list of white-space or carriage-return-separated file names corresponding to disk images in the "/live" directory. If this file exists, only images listed here will be merged into the root aufs, and they will be loaded in the order listed here. The first entry in this file will be the "lowest" point in the aufs, and the last file in this list will be on the "top" of the aufs, directly below /cow. Without this file, any images in the "/live" directory are loaded in alphanumeric order.

/etc/live-persistence.binds 4 This optional file (which resides in the rootfs system, not in the live media) is used as a list of directories which not need be persistent: ie. their content does not need to survive reboots when using the persistence features.
This saves expensive writes and speeds up operations on volatile data such as web caches and temporary files (like e.g. /tmp and .mozilla) which are regenerated each time. This is achieved by bind mounting each listed directory with a tmpfs on the original path.


/etc/live/boot.conf 4

/etc/live/boot.d/ 4

live/boot.conf 4

live/boot.d/ 4






More information about live-boot and the Debian Live project can be found on the homepage at <http://live.debian.net/> and in the manual at <http://live.debian.net/manual/>.


Bugs can be reported by submitting a bugreport for the live-boot package in the Debian Bug Tracking System at <http://bugs.debian.org/> or by writing a mail to the Debian Live mailing list at <\ \fR>.


live-boot was written by Daniel Baumann <\ \fR> for the Debian project.