Releasing debian version 4.0.1-1.
[live-manual.git] / manual / en / other_live-environment.ssi
1 B~ The Live environment
2
3 1~ The Live environment
4
5 2~ Swap space
6
7 FIXME
8
9 2~ Hostname
10
11 The name of host running live system can be set with the #{hostname}# parameter into the #{--bootappend-live}# option of #{lh_config}#, e.g.:
12
13 code{
14
15 lh_config --bootappend-live "hostname=myhost"
16
17 }code
18
19 This parameter can also be used in kernel command line.
20
21 2~ The Live user
22
23 Username FIXME.
24
25 One important consideration is that the live user is created by live-initramfs during bootup, it is not created by live-helper when building the image.
26
27 You can specify additional groups that the live user will belong to by preseeding the #{passwd/user-default-groups}# debconf value. For example, to add the live user to the #{fuse}# group, add the following to a file in the #{config/chroot_local-preseed}# directory:
28
29 code{
30
31 debconf passwd/user-default-groups string audio cdrom dialout floppy video plugdev netdev powerdev fuse
32
33 }code
34
35 For more information about debconf preseeding, please see debconf-preseed.
36 % FIXME: <xref linkend="debconf-preseed"/>
37
38 2~ Language
39
40 When the live system boots, language is involved in three steps:
41
42 _* the locale generation
43
44 _* setting the keyboard layout for the console
45
46 _* setting the keyboard layout for X
47
48 To define the locale that should be generated, use the #{locale}# parameter into the #{--bootappend-live}# option of #{lh_config}#, e.g.:
49
50 code{
51
52 lh_config --bootappend-live "locale=sv_SE.utf8"
53
54 }code
55
56 This parameter can also be used in kernel command line. You can specify a locale by a two-letters code, or for better control, by a full #{language_country.encoding}# word.
57
58 Both the console and X keyboard configuration depends on the #{keyb}# parameter of the #{--bootappend-live}# option. Valid options for X keyboard layouts can be found in #{/etc/X11/xkb/base.xml}# (rather limited to two-letters country codes). To find the value (the two characters) corresponding to a language try searching for the english name of the nation where the language is spoken, e.g:
59
60 code{
61
62 $ grep -i sweden -C3 /etc/X11/xkb/base.xml | grep name <name>se</name>
63
64 }code
65
66 To get the locale files for swedish generated and a swedish keyboard layout in X use:
67
68 code{
69
70 lh_config --bootappend-live "locale=sv_SE.utf8 keyb=se"
71
72 }code
73
74 A list of the valid values of the keyboards for the console can be figured with the following command:
75
76 code{
77
78 for i in `find /usr/share/keymaps/ -iname "*kmap.gz"`; do basename $i | head -c -9; echo; done | sort | less
79
80 }code
81
82 To make the console keyboard use a swedish layout use
83
84 code{
85
86 lh_config --bootappend-live "locale=sv_SE.utf8 keyb=se-latin1"
87
88 }code
89
90 Alternatively, you can use the #{console-setup}# package, a tool to let you configure console layout using X (XKB) definitions; you can then setup your keyboard layout more precisely with #{klayout}#, #{kvariant}#, #{koptions}# and #{kmodel}# variables; #{live-initramfs}# will use also these parameters for X configuration. For example, to set up a french system with a french-dvorak layout (called Bépo) on a TypeMatrix keyboard, both in console and X11, use:
91
92 code{
93
94 lh_config --bootappend-live \ "locale=fr_FR.UTF-8 klayout=fr kvariant=bepo kmodel=tm2030usb"
95
96 }code
97
98 Note that on old versions of #{console-setup}# (i.e. Lenny's one), you'll need to setup also the #{keyb}# variable to the #{klayout}#'s value.
99
100 2~ Persistence
101
102 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.
103
104
105 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.
106
107 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.
108
109 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}#.
110
111 3~ Full persistence
112
113 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.:
114
115 code{
116
117 # mkfs.ext2 -L live-rw /dev/sdb1
118
119 }code
120
121 If you already have a partition on your device, you could just change the label with one of the following:
122
123 code{
124
125 # tune2fs -L live-rw /dev/sdb1 # for ext2,3,4 filesystems
126 # dosfslabel /dev/sdb1 live-rw # for a fat filesystem
127
128 }code
129
130 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:
131
132 code{
133
134 $ dd if=/dev/null of=live-rw bs=1G seek=1 # for a 1GB sized image file
135 $ /sbin/mkfs.ext2 -F live-rw
136
137 }code
138
139 Then copy the #{live-rw}# file to a writable partition and reboot with the boot parameter 'persistent'.
140
141 3~ Home automounting
142
143 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.
144
145 3~ Snapshots
146
147 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}#. As above, 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 #{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.
148
149 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.
150
151 Snapshots cannot currently handle file deletion but full persistence and home automounting can.
152
153 3~ Persistent SubText
154
155 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}#.
156
157 3~ Partial remastering
158
159 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 bootparameter.