suggestions for debian-live manual, "persistence" section
Suggestions/questions are marked with * . . .*
this is from debian-live manual 10/09
A live cd paradigm is a preinstalled system which runs from read-only
media, like a cdrom, where writes and modifications do not survive
reboots of the host hardware which runs it.
A Debian Live system is a generalization of this paradigm and thus
supports other media in addition to CDs; but still, in its default
behaviour, it should be considered read-only and all the runtime
evolutions of the system are lost at shutdown *(unless live-snapshot is
explicitly called by the user)*. *Only when the boot option "persistent"
is specified are any of the saved files read. This option must be
specified each time the machine is booted. (Comment: worth stressing,
since this is opposite to the default behavior in Puppy or Knoppix)*
Persistence is a common name for different kinds of solutions for saving
across reboots some, or all, of this runtime evolution of the system. To
understand how it could work it could be handy to know that even if the
system is booted and run from read-only media, modification to the files
and directories are written on writable media, typically a ram disk
(tmpfs) and ram disks' data do not survive reboots.
The data stored on this ramdisk should be saved on a writable persistent
medium like a Hard Disk, a USB key, a network share or even a session of
a multisession (re)writable CD/DVD. All these media are supported in
Debian Live in different ways, and all but the last one require a
special boot parameter to be specified at boot time: persistent.
7.5.1. Full persistence
By 'full persistence' it is meant that instead of using a tmpfs for
storing modifications to the read-only media (with the copy-on-write,
COW, system) a writable partition is used. In order to use this feature
a partition with a clean writable supported filesystem on it labeled
"live-rw" must be attached on the system at bootime and the system must
be started with the boot parameter 'persistent'. This partition could be
an ext2 partition on the hard disk or on a usb key created with, e.g.:
# mkfs.ext2 -L live-rw /dev/sdb1
But since live system users cannot always use a hard drive partition,
and considering that most USB keys have poor write speeds, 'full'
persistence could be also used with just image files, so you could
create a file representing a partition and put this image file even on a
NTFS partition of a foreign OS, with something like:
$ dd if=/dev/null of=live-rw bs=1G seek=1 # for a 1GB sized image file
$ /sbin/mkfs.ext2 -F live-rw
Then copy the live-rw file to a writable partition and reboot with the
boot parameter 'persistent'.
7.5.2. Home automounting
If during the boot a partition (filesystem) image file or a partition
labeled home-rw is discovered, this filesystem will be directly mounted
as /home, thus permitting persistence of files that belong to e.g. the
default user. It can be combined with full persistence.
Snapshots are collections of files and directories which are not mounted
while running but which are copied from a persistent device to the
system (tmpfs) at boot and which are resynced at reboot/shutdown of the
system. The content of a snapshot could reside on a partition or an
image file (like the above mentioned types) labeled live-sn, but it
defaults to a simple cpio archive named live-sn.cpio.gz. *This file can
be created initially by the command "sudo /sbin/live-shapshot --device
/dev/sda1 (or other device)", even if the system has been booted in
default (nonpersistent) mode. As above,*If the option "persistent" is
specified* at boot time, the block devices connected to the system are
traversed to see if a partition or a file named like that could be
found. A power interruption during runtime could lead to data loss,
hence a tool invoked *sudo /sbin/*live-snapshot --refresh could be
called to sync important changes. This type of persistence, since it
does not write continuously to the persistent media, is the most
flash-based device friendly and the fastest of all the persistence systems.
A /home version of snapshot exists too and its label is home-sn.*; it
works the same as the main snapshot but it is only applied to /home.
Snapshots cannot currently handle file deletion but full persistence and
home automounting can.
7.5.4. Persistent SubText
If a user would need multiple persistent storage of the same type for
different locations or testing, such as live-rw-nonwork and
live-rw-work, the boot parameter persistent-subtext used in conjuntion
with the boot parameter persistent will allow for multiple but unique
persistent media. An example would be if a user wanted to use a
persistent partition labeled live-sn-subText they would use the boot
parameters of: persistent persistent-subtext=subText.
7.5.5. Partial remastering
*Question: can these operations be performed from a live disk, or do
they require installation?*
The runtime modification of the tmpfs could be collected using
live-snapshot in a squashfs and added to the cd by remastering the iso
in the case of cd-r or adding a session to multisession cd/dvd(rw);
live-initramfs mounts all /live filesystem in order or with the module