casper (7) - Linux Manuals

casper: a hook for initramfs-tools to boot live systems.

NAME

casper - a hook for initramfs-tools to boot live systems.

SYNOPSIS

BOOT=casper As kernel parameter boot prompt.

DESCRIPTION

Casper is a hook for initramfs-tools used to generate an initramfs capable to boot live systems as those created by make-live. This includes the Debian-Live isos, netboot tarballs, and usb stick images and Ubuntu live cds. At boot time it will look for a (read-only) media containing a "/casper" directory where a root filesystems (often a compressed squashfs) is stored. If found, it will create a writable environment, using unionfs, for debian like systems to boot from.

RECOGNIZED BOOT OPTIONS

casper-getty
This enables a special "serial" login shell (experimental).
xdebconf
uses xdebconfigurator, if present on the rootfs, to configure X instead of the standard procedure (experimental).
hostname=HOSTNAME , userfullname=USERFULLNAME , username=USERNAME
Those parameters lets you override values read from the config file.
{keyb|kbd-chooser/method}=KEYBOARD , {klayout|console-setup/layoutcode}=LAYOUT , {kvariant|console-setup/variantcode}=VARIANT , {kmodel|console-setup/modelcode}=CODE , koptions=OPTIONS
Configure the running keyboard as specified, if this one misses casper behaves as if "keyb=us" was specified. It will be interfered from "locale=" if locale is only 2 lowecase letters as a special case. You could also specify console layout, variant, code, and options (no defaults).
ip=IFACE,ADDRESS,NETMASK,GATEWAY[:IFACE,ADDRESS,NETMASK,GATEWAY]*
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).
ip[=frommedia]
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
If you specify one of this two equivalent forms, casper will first try to find this device for the "/casper" directory where the read-only root filesystem should reside. If it did not find something usable, the normal scan for block devices is performed.
live-media-offset=BYTES
This way you could tell casper 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
Sets the path to the live filesystem on the medium. By default, it is set to "/casper" and you should not change that unless you have customized your media accordingly.
locale=LOCALE | debian-installer/locale=LOCALE
Configure the running locale as specified, if not present the live-media rootfs configured locale will be used and if also this one misses casper behave as "locale=en_US.UTF-8" was specified. If only 2 lowercase letter are specified (like "it"), the "maybe wanted" locale is generated (like it:IT.UTF-8), in this case if also "keyb=" is unspecified is set with those 2 lowercase letters (keyb=it).
netboot[=nfs|cifs]
This tells casper 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.
persistent
Casper will look for persistent and snapshot partitions or files labeled "casper-rw", "home-rw", and files called "casper-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 casper-snapshot(1) for more informations.
nopersistent
disables the above mentioned "persistent" feature, useful if the bootloader (like syslinux) has been installed with persistent enabled.
persistent-path=PATH
Casper 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.
showmounts
This parameter will make casper to show on "/" the ro filesystems (mostly compressed) on /casper. This is not enabled by default because could lead to problems by applications like "mono" which store binary paths on installation.
textonly
Start up to text-mode shell prompts, disabling the graphical user interface.
todisk=DEVICE
Adding this parameter, casper 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
Adding this parameter, casper 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.
{preseed/file|file}=FILE
A path to a file present on the rootfs could be used to preseed debconf database.
preseed/allow-network=true
Bring up the network while running preseed/early_command.
package/question=VALUE
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.
uuid=UUID
Check that the discovered medium matches UUID rather than the default UUID embedded in the initramfs.
ignore_uuid
Do not check that any UUID embedded in the initramfs matches the discovered medium. casper may be told to generate a UUID by setting CASPER_GENERATE_UUID=1 when building the initramfs.
noprompt
Do not prompt to eject the CD on reboot.

FILES

/etc/casper.conf some variables can be configured via this config file.

BUGS

casper works fully on amd64, i386 and ppc, it should also run on other archs.

HOMEPAGE

Debian Live project <http://live.debian.net/>

AUTHOR

casper was written by Tollef Fog Heen <tfheen [at] canonical.com>, Matt Zimmerman <mdz [at] canonical.com>, and Marco Amadori <marco.amadori [at] gmail.com>.
This manual page was written by Marco Amadori <marco.amadori [at] gmail.com>,
for the Debian project (but may be used by others).