---
name: "casper"
section: "7"
platform: "linux"
package: "casper"
version: "1.77+debian-7"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/casper"
---

# casper(7)

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.

- **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)](/casper-snapshot/1.md) for more informations.

- **nopersistent**

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

- **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.

- **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.

- **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.

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

## SEE ALSO

**[casper-snapshot(1)](/casper-snapshot/1.md),**[initramfs-tools(8)](/initramfs-tools/8.md),**make-live(8),**make-live.conf(5)

## AUTHOR

casper was written by Tollen Fog Heen \<tfheen@canonical.com\>, Matt Zimmerman \<mdz@canonical.com\>, and Marco Amadori \<marco.amadori@gmail.com\>.

- This manual page was written by Marco Amadori \<marco.amadori@gmail.com\>,

  for the Debian project (but may be used by others).
