LIVE-CONFIG(7) Debian Live Project LIVE-CONFIG(7) NAME live-config - System Configuration Scripts DESCRIPTION live-config contains the scripts that configure a Debian Live system during the boot process (late userspace). CONFIGURATION live-config can be configured through boot parameters or configuration files. If both mechanisms are used for a certain option, the boot parameters take precedence over the configuration files. When using persistency, live-config scripts are only run once. To configure the live-config parameters used by default in a live image, see the --bootappend-live option in the lb_config(1) manual page. Boot Parameters (scripts) live-config is only activated if 'boot=live' is used as a boot parameâ ter. Additionally, live-config needs to be told which scripts to run through the 'live-config' parameter or which scripts to not run through the 'live-noconfig' parameter. If both 'live-config' and 'live-noconâ fig' are used, or, if either one is specified multiple times, always the later one takes precedence over the previous one(s). live-config | config All scripts are run. This is what Debian Live images use by default. live-config=SCRIPT1,SCRIPT2, ... SCRIPTn | config=SCRIPT1,SCRIPT2, ... SCRIPTn Only the specified scripts are run. Note that the order matters, e.g. 'live-config=sudo,user-setup' would not work since the user needs to be added before it can be configured for sudo. Look at the filenames of the scripts in /lib/live/config for their ordering number. live-noconfig | noconfig No script is run. This is the same as not using any of 'live-conâ fig' or 'live-noconfig'. live-noconfig=SCRIPT1,SCRIPT2, ... SCRIPTn | noconfig=SCRIPT1,SCRIPT2, ... SCRIPTn All scripts are run, except the specified ones. Boot Parameters (options) Some individual scripts can change their behaviour upon a boot parameâ ter. live-config.debconf-preseed=filesystem|medium|URL1|URL2| ... |URLn | debconf-preseed=medium|filesystem|URL1|URL2| ... |URLn Allows to fetch and apply one or more debconf preseed files to be applied to the debconf database. Note that the URLs must be fetchâ able by wget (http, ftp or file://). If the file is placed on the live medium, it can be fetched with file:///lib/live/mount/medium/FILE, or with file:///FILE if it is in the root filesystem of the live system itself. All preseed files in /lib/live/config-preseed/ in the root filesysâ tem of the live system can be automatically enabled with the keyâ word 'filesystem'. All preseed files in /live/config-preseed/ of the live medium can be automatically enabled with the keyword 'medium'. If several mechanisms are combined, then filesystem preseed files are applied first, then medium preseed files, and last the network preseed files. live-config.hostname=HOSTNAME | hostname=HOSTNAME Allows to set the hostname of the system. The default is 'debian'. live-config.username=USERNAME | username=USERNAME Allows to set the username that gets created for autologin. The default is 'user'. live-config.user-default-groups=GROUP1,GROUP2 ... GROUPn | user-default-groups=GROUP1,GROUP2 ... GROUPn Allows to set the default groups of the users that gets created for autologin is member of. The default is 'audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth'. live-config.user-fullname="USER FULLNAME" | user-fullname="USER FULLâ NAME" Allows to set the fullname of the users that gets created for autologin. The default is 'Debian Live user'. live-config.locales=LOCALE1,LOCALE2 ... LOCALEn | locales=LOCALE1,LOCALE2 ... LOCALEn Allows to set the locale of the system, e.g. 'de_CH.UTF-8'. The default is 'en_US.UTF-8'. In case the selected locale is not already available on the system, it is automatically generated on the fly. live-config.timezone=TIMEZONE | timezone=TIMEZONE Allows to set the timezone of the system, e.g. 'Europe/Zurich'. The default is 'UTC'. live-config.keyboard-model=KEYBOARD_MODEL | keyboard-model=KEYâ BOARD_MODEL Allows to change the keyboard model. There is no default value set. live-config.keyboard-layouts=KEYBOARD_LAYOUT1,KEYBOARD_LAYOUT2 ... KEYâ BOARD_LAYOUTn | keyboard-layouts=KEYBOARD_LAYOUT1,KEYBOARD_LAYOUT2 ... KEYBOARD_LAYOUTn Allows to change the keyboard layouts. If more than one is speciâ fied, the tools of the desktop environment will allow to switch it under X11. There is no default value set. live-config.keyboard-variants=KEYBOARD_VARIANT1,KEYBOARD_VARIANT2 ... KEYBOARD_VARIANTn | keyboard-variants=KEYBOARD_VARIANT1,KEYBOARD_VARIâ ANT2 ... KEYBOARD_VARIANTn Allows to change the keyboard variants. If more than one is speciâ fied, the same number of values as keyboard-layouts values should be specified as they will be matched one-to-one in the order speciâ fied. Blank values are allowed. The tools of the desktop environâ ment will allow to switch between each layout and variant pair under X11. There is no default value set. live-config.keyboard-options=KEYBOARD_OPTIONS | keyboard-options=KEYâ BOARD_OPTIONS Allows to change the keyboard options. There is no default value set. live-config.sysv-rc=SERVICE1,SERVICE2 ... SERVICEn | sysv-rc=SERâ VICE1,SERVICE2 ... SERVICEn Allows to disable sysv services through update-rc.d. live-config.utc=yes|no | utc=yes|no Allows to change if the system is assuming that the hardware clock is set to UTC or not. The default is 'yes'. live-config.x-session-manager=X_SESSION_MANAGER | x-session-manâ ager=X_SESSION_MANAGER Allows to set the x-session-manager through update-alternatives. live-config.xorg-driver=XORG_DRIVER | xorg-driver=XORG_DRIVER Allows to set xorg driver instead of autodetecting it. If a PCI ID is specified in /usr/share/live/config/xserver-xorg/DRIVER.ids within the live system, DRIVER is enforced for these devices. If both a boot parameter and a override is found, the boot parameter takes precedence. live-config.xorg-resolution=XORG_RESOLUTION | xorg-resolution=XORG_RESâ OLUTION Allows to set xorg resolution instead of autodetecting it, e.g. 1024x768. live-config.hooks=filesystem|medium|URL1|URL2| ... |URLn | hooks=medium|filesystem|URL1|URL2| ... |URLn Allows to fetch and execute one or more arbitrary files. Note that the URLs must be fetchable by wget (http, ftp or file://), the files are executed in /tmp of the running live system, and that the files needs their dependencies, if any, already installed, e.g. if a python script should be executed the system needs python installed. Some hooks for some common use-cases are available at /usr/share/doc/live-config/examples/hooks/ and <http://live.debian.net/other/hooks>. If the file is placed on the live medium, it can be fetched with file:///lib/live/mount/medium/FILE, or with file:///FILE if it is in the root filesystem of the live system itself. All hooks in /lib/live/config-hooks/ in the root filesystem of the live system can be automatically enabled with the keyword 'filesysâ tem'. All hooks in /live/config-hooks/ of the live medium can be automatâ ically enabled with the keyword 'medium'. If several mechanisms are combined, then filesystem hooks are exeâ cuted first, then medium hooks, and last the network hooks. Boot Parameters (shortcuts) For some common use cases where it would require to combine several individual parameters, live-config provides shortcuts. This allows both to have full granularity over all the options, as well keep things simâ ple. live-config.noroot | noroot Disables the sudo and policykit, the user cannot gain root priviâ leges on the system. live-config.noautologin | noautologin Disables both the automatic console login and the graphical autoloâ gin. live-config.nottyautologin | nottyautologin Disables the automatic login on the console, not affecting the graphical autologin. live-config.nox11autologin | nox11autologin Disables the automatic login with any display manager, not affectâ ing tty autologin. Boot Parameters (special options) For special use cases there are some special boot paramters. live-config.debug | debug Enables debug output in live-config. Configuration Files live-config can be configured (but not activated) through configuration files. Everything but the shortcuts that can be configured with a boot parameter can be alternatively also be configured through one or more files. If configuration files are used, the 'boot=live' parameter is still required to activate live-config. Configuration files can be placed either in the root filesystem itself (/etc/live/config.conf, /etc/live/config/*), or on the live media (live/config.conf, live/config/*). If both places are used for a cerâ tain option, the ones from the live media take precedence over the ones from the root filesystem. Although the configuration files placed in the conf.d directories do not require a particular name or suffix, it is suggested for consisâ tency reasons to either use 'vendor.conf' or 'project.conf' as a naming scheme (whereas 'vendor' or 'project' is replaced with the actual name, resulting in a filename like 'debian-eeepc.conf'). The actual content of the configuration files consists of one or more of the following variables. LIVE_CONFIGS=SCRIPT1,SCRIPT2, ... SCRIPTn This variable equals the 'live-config=SCRIPT1,SCRIPT2, ... SCRIPTn' parameter. LIVE_NOCONFIGS=SCRIPT1,SCRIPT2, ... SCRIPTn This variable equals the 'live-noconfig=SCRIPT1,SCRIPT2, ... SCRIPTn' parameter. LIVE_DEBCONF_PRESEED=filesystem|medium|URL1|URL2| ... |URLn This variable equals the 'live-config.debconf-preseed=filesysâ tem|medium|URL1|URL2| ... |URLn' parameter. LIVE_HOSTNAME=HOSTNAME This variable equals the 'live-config.hostname=HOSTNAME' parameter. LIVE_USERNAME=USERNAME This variable equals the 'live-config.username=USERNAME' parameter. LIVE_USER_DEFAULT_GROUPS=GROUP1,GROUP2 ... GROUPn This variable equals the 'live-conâ fig.user-default-groups="GROUP1,GROUP2 ... GROUPn"' parameter. LIVE_USER_FULLNAME="USER FULLNAME" This variable equals the 'live-config.user-fullname="USER FULLâ NAME"' parameter. LIVE_LOCALES=LOCALE1,LOCALE2 ... LOCALEn This variable equals the 'live-config.locales=LOCALE1,LOCALE2 ... LOCALEn' parameter. LIVE_TIMEZONE=TIMEZONE This variable equals the 'live-config.timezone=TIMEZONE' parameter. LIVE_KEYBOARD_MODEL=KEYBOARD_MODEL This variable equals the 'live-config.keyboard-model=KEYâ BOARD_MODEL' parameter. LIVE_KEYBOARD_LAYOUTS=KEYBOARD_LAYOUT1,KEYBOARD_LAYOUT2 ... KEYâ BOARD_LAYOUTn This variable equals the 'live-config.keyboard-layouts=KEYâ BOARD_LAYOUT1,KEYBOARD_LAYOUT2 ... KEYBOARD_LAYOUTn' parameter. LIVE_KEYBOARD_VARIANTS=KEYBOARD_VARIANT1,KEYBOARD_VARIANT2 ... KEYâ BOARD_VARIANTn This variable equals the 'live-config.keyboard-variants=KEYâ BOARD_VARIANT1,KEYBOARD_VARIANT2 ... KEYBOARD_VARIANTn' parameter. LIVE_KEYBOARD_OPTIONS=KEYBOARD_OPTIONS This variable equals the 'live-config.keyboard-options=KEYâ BOARD_OPTIONS' parameter. LIVE_SYSV_RC=SERVICE1,SERVICE2 ... SERVICEn This variable equals the 'live-config.sysv-rc=SERVICE1,SERVICE2 ... SERVICEn' parameter. LIVE_UTC=yes|no This variable equals the 'live-config.utc=yes|no' parameter. LIVE_X_SESSION_MANAGER=X_SESSION_MANAGER This variable equals the 'live-config.x-session-manager=X_SESâ SION_MANAGER' parameter. LIVE_XORG_DRIVER=XORG_DRIVER This variable equals the 'live-config.xorg-driver=XORG_DRIVER' parameter. LIVE_XORG_RESOLUTION=XORG_RESOLUTION This variable equals the 'live-config.xorg-resolution=XORG_RESOLUâ TION' parameter. LIVE_HOOKS=filesystem|medium|URL1|URL2| ... |URLn This variable equals the 'live-config.hooks=filesysâ tem|medium|URL1|URL2| ... |URLn' parameter. CUSTOMIZATION live-config can be easily customized for downstream projects or local usage. Adding new config scripts Downstream projects can put their scripts into /lib/live/config and do not need to do anything else, the scripts will be called automatically during boot. The scripts are best put into an own debian package. A sample package containing an example script can be found in /usr/share/doc/live-conâ fig/examples. Removing existing config scripts It is not really possible to remove scripts itself in a sane way yet without requiring either to ship a locally modified live-config package or using dpkg-divert. However, the same can be achieved by disabling the respective scripts through the live-noconfig mechanism, see above. To avoid to always need specifing disabled scripts through the boot parameter, a configuration file should be used, see above. The configuration files for the live system itself are best put into an own debian package. A sample package containing an example configuraâ tion can be found in /usr/share/doc/live-config/examples. SCRIPTS live-config currently features the following scripts in /lib/live/conâ fig. debconf allows to apply arbitrary preseed files placed on the live media or an http/ftp server. hostname configures /etc/hostname and /etc/hosts. user-setup adds a live user account. sudo grants sudo privileges to the live user. locales configures locales. locales-all configures locales-all. tzdata configures /etc/timezone. gdm configures autologin in gdm. gdm3 configures autologin in gdm3 (squeeze and newer). kdm configures autologin in kdm. lightdm configures autologin in lightdm. lxdm configures autologin in lxdm. nodm configures autologin in nodm. slim configures autologin in slim. xinit configures autologin with xinit. keyboard-configuration configures the keyboard. sysvinit configures sysvinit. sysv-rc configures sysv-rc by disabling listed services. login disables lastlog. apport disables apport. gnome-panel-data disables lock button for the screen. gnome-power-manager disables hibernation. gnome-screensaver disables the screensaver locking the screen. kaboom disables KDE migration wizard (squeeze and newer). kde-services disables some unwanted KDE services (squeeze and newer). debian-installer-launcher adds debian-installer-launcher on users desktop. module-init-tools automatically load some modules on some architectures. policykit grant user privilegies through policykit. sslcert regenerating ssl snake-oil certificates. update-notifier disables update-notifier. anacron disables anacron. util-linux disables util-linux' hwclock. login disables lastlog. xserver-xorg configures xserver-xorg. ureadahead (ubuntu only) disables ureadahead. openssh-server recreates openssh-server host keys. xfce4-panel configures xfce4-panel to default settings. hooks allows to run arbitrary commands from a script placed on the live media or an http/ftp server. FILES /etc/live/config.conf /etc/live/config/* live/config.conf live/config/* /lib/live/config.sh /lib/live/config/ /var/lib/live/config/ /var/log/live/config.log /live/config-hooks/* live/config-hooks/* /live/config-preseed/* live/config-preseed/* SEE ALSO live-boot(7) live-build(7) live-tools(7) HOMEPAGE More information about live-config and the Debian Live project can be found on the homepage at <http://live.debian.net/> and in the manual at <http://live.debian.net/manual/>. BUGS Bugs can be reported by submitting a bugreport for the live-config package in the Debian Bug Tracking System at <http://bugs.debian.org/> or by writing a mail to the Debian Live mailing list at <debian-live@lists.debian.org>. AUTHOR live-config was written by Daniel Baumann <daniel@debian.org>. 3.0.23-1 2013-04-25 LIVE-CONFIG(7)