CASPER(7)
πΈ NAME πΈ
casper β a hook for initramfs-tools to boot live systems. That's the whole job, bestie. And yeah, this is the CASPER(7) page β section 7, the hook corner of the manual π
β¨ SYNOPSIS β¨
BOOT=casper As kernel parameter boot prompt.
π¦ DESCRIPTION π¦
So. casper is a hook for initramfs-tools, and what it does is generate an initramfs that's actually capable of booting live systems β the kind that make-live spits out. That includes the Debian-Live isos, netboot tarballs, usb stick images, and Ubuntu live cds. Iconic lineup honestly π
At boot time it goes looking for a (read-only) media that has a /casper directory on it, and inside that directory lives a root filesystem (often a compressed squashfs, no cap). If it finds one? It builds you a writable environment using overlay, so your debian-like system has somewhere to actually live and boot from. Slay π
π₯ RECOGNIZED BOOT OPTIONS π₯
okay this is the big one, grab a snack π
casper-gettyβ this turns on a special "serial" login shell. It's experimental, so like, be aware.xdebconfβ usesxdebconfigurator, if it's present on the rootfs, to configure X instead of doing the standard procedure. Also experimental, also a vibe.fsck.mode=skipβ lets you skip the file system check on boot. Living dangerously, love that for you.hostname=HOSTNAME,userfullname=USERFULLNAME,username=USERNAMEβ these parameters let you override the values that got read from the config file. Yes, all three, they're a little trio π«Ά{keyb|kbd-chooser/method}=KEYBOARD,{klayout|console-setup/layoutcode|keyboard-configuration/layoutcode}=LAYOUT,{kvariant|console-setup/variantcode|keyboard-configuration/variantcode}=VARIANT,{kmodel|console-setup/modelcode|keyboard-configuration/modelcode}=CODE,koptions=OPTIONSβ configures the running keyboard exactly as specified. And if this one misses? casper just behaves as if"keyb=us"was specified. It will be interfered from"locale="if locale is only 2 lowercase letters, as a special case. You could also specify console layout, variant, code, and options β and nope, there are no defaults for those.ip=IFACE,ADDRESS,NETMASK,GATEWAY[:IFACE,ADDRESS,NETMASK,GATEWAY]*β lets 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 β because dhcp is the default, and this would be fighting it.ip[=frommedia]β if this variable is set, dhcp and static configuration are just straight up skipped, and the system will use the (must be) media-preconfigured/etc/network/interfacesinstead.{live-media|bootfrom}=DEVICEβ specify either of these two equivalent forms and casper will first try to find this device for the/casperdirectory, where the read-only root filesystem is supposed to reside. If it didn't find anything usable there, it goes back to the normal scan for block devices. No hard feelings β¨live-media-offset=BYTESβ this is how you tell casper that your image starts at offset BYTES in the device you specified above (or the one it autodiscovered). Useful for hiding a debian-live iso or image inside another iso or image, so you can create "clean" images. Sneaky, lowkey genius π§live-media-path=PATHβ sets the path to the live filesystem on the medium. By default it's set to/casper, and you should not change that unless you've customized your media accordingly. Periodt.layerfs-path=PATHβ sets the path to the leaf layer of an overlay-compatible multi-layer live filesystem on the medium. By default it's not set, multi layer is disabled, and it falls back to casper's default behaviour. A relative path uses"live-mediate-path"as its root directory. And heads up: all the layer images of the same hierarchy must be in the same directory.locale=LOCALE|debian-installer/locale=LOCALE|debian-installer/language="LANGβ configures the running locale as specified. If it's not present, the live-media rootfs's configured locale gets used; if that one also misses, casper behaves as if"locale=en_US.UTF-8"was specified. If only 2 lowercase letters are specified (like"it"), the "maybe wanted" locale is generated (likeit:IT.UTF-8) β and in that case, if"keyb="is also unspecified, it gets set with those same 2 lowercase letters (keyb=it). Ifdebian-installer/languageis set, it'll choose the appropriate locale corresponding to that language (it,fr,us,...).debian-installer/driver-update=β adds a ubiquity hook to install driver-updates to the target system.netboot[=nfs|cifs|url]β tells casper to perform a network mount. The parameter"nfsroot="(with optional"nfsopts=") should specify where the location of the root filesystem is. With no args, it'll try cifs first, and if that fails, nfs. If the url method is chosen, the"iso-url="parameter should point to the location of the.isothat'll be downloaded and mounted. Note:"iso-url="on the commandline alone, by default, sets the"netboot=url"method too.iso-url|url=URLβ tells casper the download location of the installer ISO. The ISO gets downloaded and mounted. Networking is required for this option to work, and you can configure that with the"ip="option. Also note: setting this option will also set the"netboot=url"method. Two for one π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 the first as/cow, mount the second in/home, and just copy the contents of the latter into appropriate locations (snapshots). Snapshots will be tried to be updated on reboot/shutdown. Go look atcasper-snapshot(1)for more informations πnopersistentβ disables that whole"persistent"feature from above. 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 you can have multiple directories on the same partition to store persistency files. Multitasking queen πserialtty=ttyβ redirect output to the tty of your choice, for debugging purposes in live sessions.showmounts|show-cowβ makes casper show on/the ro filesystems (mostly compressed) on/casper. Not enabled by default, because it could lead to problems with applications like"mono"which store binary paths on installation. So, y'know, drama πtextonly|automatic-ubiquity|only-ubiquity|noninteractiveβ starts up to text-mode shell prompts, disabling the graphical user interface. Old school, no GUI, we respect it.todisk=DEVICEβ add this parameter and 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, just saying. Subsequent boots should then skip this step and just specify the"live-media=DEVICE"boot parameter with the same DEVICE you used this time.toramβ add this parameter and 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. RAM is not infinite bestie π{preseed/file|file}=FILEβ a path to a file present on the rootfs, which could be used to preseed the debconf database.preseed/allow-network=trueβ brings up the network while runningpreseed/early_command.package/question=VALUEβ all debian installed packages could be preseeded from the command-line that way. Beware of blank spaces β they will interfere with parsing, so use a preseed file in this case. fr fr.uuid=UUIDβ checks 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 settingCASPER_GENERATE_UUID=1when building the initramfs.nopromptβ do not prompt to eject the CD on reboot. Rude but efficient.access=[v1|v2|v3|m1|m2]β adding this parameter tunes the graphic configuration to different accessibility needs.access=v1for Lesser Visual Impairment,access=v2for Moderate Visual Impairment,access=v3for Blindness,access=m1for Minor motor difficulties, andaccess=m2for Motor difficulties with pointing devices.braille=askβ adding this parameter enables graphic configuration for screen reader.xforcevesaβ creates a basicxorg.confto force VESA mode only, which could help if no suitable video driver is available. The backup plan we all deserve π
π FILES π
/etc/casper.confβ some variables can be configured via this config file.
π BUGS π
casper works fully on amd64, i386 and ppc, and it should also run on other archs. (Yes, this is filed under BUGS. The arch flex is the bug, apparently. We love a confident king π)
π HOMEPAGE π
Debian Live project http://live.debian.net/
π«Ά SEE ALSO π«Ά
casper-snapshot(1), initramfs-tools(8), make-live(8), make-live.conf(5)
β AUTHOR β
casper was written by Tollef 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).
and that's the whole page bestie π this one's version 1.69, dated Thu, 28 Sep 2006 β yes, 2006, she's a vintage icon and she still boots πβ¨
π¦ where this page comes from
- ubuntu noble: casper 1.498
- ubuntu questing: casper 25.10.2
- ubuntu resolute: casper 26.04.2
- ubuntu stonking: casper 26.10.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms