← Previous | ↑ Home | ↑ Live System | Next → |
As unprivileged user in the virtual machine create a config-test1 directory in your home directory.
cd
if [ ! -d config-test1 ]
then
mkdir -p ~/config-test1
chmod 755 ~/config-test1
else
echo 'E: Directory config-test1 already exists!'
fi
As unprivileged user in the virtual machine create the livesys1 directory in your home directory.
Create the “custom” subdirectory as symbolic link to the directory created above.
cd
if [ ! -d livesys1 ]
then
mkdir -p livesys1
chmod 755 livesys1
else
echo 'E: Directory livesys1 already exists!'
fi
cd
cd livesys1
ln -s /home/user/config-test1 custom
Replace /home/user by the unprivileged users home directory.
Important: Use an absolute path name.
Some variables are set automatically by the scripts and exported to sub-scripts:
LIVESYSTYPE
The live system type to produce, specified as argument to the dklivesys-build-livesys script, either “dktoolian” or “disklessian”.
DEBVMAJ
Debian major version code name, one from: “bookworm”, “bullseye”, “buster”, “stretch”, or “jessie”.
The current dklivesys version can only produce Debian Bookworm live systems on Debian Bookworm hosts.
DSRC
Data directory, derived from the scripts full path name, typically /usr/local/share/dklivesys/livesys-data or ${HOME}/Downloads/dklivesys-1.0.10/share/dklivesys/livesys-data.
The custom/dklivesys.conf file can be used to configure several features of the live system.
The file consists of comment lines and key=value lines. In comment lines the first non-whitespace character is a raute character (#).
Reasonable defaults are choosen for most settings.
The file is a configuration file, not a shell file, so you can use
DESKTOP=gnome
but not
DESKTOP="gnome"
Use of double quotes (") and back ticks (`) is denied, for security reasons lines containing these characters are ignored.
Leading and trailing whitespaces are ignored both in key and value.
The following keys can be used:
DESKTOP=string
Desktop to use in the live system, one from: “none” (DKtoolian only), “gnome”, or “xfce”.
The following desktops are not really supported, their use in DKtoolian and Disklessian is experimental: “mate”, “lxde”, “cinnamon”, “kde”, and “lxqt” (Debian Bookworm, Bullseye, Buster, and Stretch only).
Default: none for DKtoolian, gnome for Disklessian.
LIVETYPE=string
The live systems boot type, either “hybrid” or “nfs”.
Hybrid live systems are booted from USB drive, DVD or CD.
NFS live systems use a combination of PXE, DHCP, TFTP, and NFS to boot, NFSSERVER and NFSPATH must be specified.
Default: hybrid.
NFSSERVER=string
NFS server containing the root file system, specified by IP address (preferred) or host name.
This configuration item is required for LIVETYPE=nfs, ignored otherwise.
There is no default.
NFSPATH=string
Path to NFS share on server containing the root file system, specified as absolute path.
This configuration item is required for LIVETYPE=nfs, ignored otherwise.
There is no default.
PUBLISHER=string
Name of the person or organization creating the live system.
LIVEAPPENDCUSTOM=string
Kernel parameters to add.
Default: none.
Usable parameters:
Parameter | Purpose |
---|---|
live-config.noautologin | to avoid automatic login. |
live-config.noroot | to deny sudo for the user logged in automatically. |
SIDKERNEL=boolean
Use kernel from Debian Sid (unstable) instead of the kernel from the stable Debian release.
Default: no.
This feature was added on a users request.
I strongly recommend to stay with the default “no” to use the kernel from Debian stable.
See https://wiki.debian.org/DebianUnstable for information on Debian Sid.
See the Customization How-To how to use a *.deb kernel package.
UEFISECURE=boolean
Add support for UEFI Secure Boot.
Default: yes.
BOOTMENUBEEP=boolean
Issue beep when boot menu is shown.
This notifies visually impaired users about “boot menu shown, you can append kernel parameters for screen readers now”.
Default: yes.
PLYMOUTHTHEME=string
Name of plymouth theme to show a splash screen or an animation during boot.
Default: “dklivesys” for Disklessian, “none” for DKtoolian.
The “dklivesys” theme is a very simple theme. Files for this theme are installed automatically by dklivesys-build-livesys if that theme is used.
For other themes there are two installation choices:
Note: In “normal” boot process a plymouth theme is shown immediately after booting the selected boot menu item. In Debian live systems there is a little delay.
I suspect the delay is due to squashfs use, but I did not make tests to confirm this.
GRUB_GFXMODE=string
Configuration entry for GRUB_GFXMODE in the /etc/default/grub file.
Use something like “1920x1080” or “1920x1080x32” to specify screen width and height, optionaly the number of bits per pixel.
This option is typically used together with PLYMOUTHTHEME to configure the screen resolution required by the theme.
LANGFULL=string
Full language specification (optionally including region and/or encoding) for language to use in live system including language, region, and encoding.
Default: The systems default language automatically detected by command:
grep "^LANG=" /etc/default/locale | cut -f 2 -d '"'
LANGREG=string
Language and region specification for language to use in live system.
Default: The systems default language and region automatically detected by command:
echo $LANGFULL | cut -f 1 -d .
LANGSHORT=string
Pure language specification for language to use in live system.
Default: The systems default language automatically detected by command:
echo $LANGFULL | cut -f 1 -d . | cut -f 1 -d _
LIVEAPPENDLOCALES=string
Kernel parameters to add for localization.
Default: Automatically detected by command:
echo $LANGFULL | sed -e 's/UTF\-8/utf8/g'
LIVEAPPENDTIMEZONE=string
Kernel parameters to add for time zone setup.
Default: Automatically detected by command:
cat /etc/timezone
LIVEAPPENDVGA=string
Kernel parameters to append for graphics mode setup for a CLI DKtoolian live system.
Default: 0x0F00.
CONSOLEFONT=string
Font to use in console of CLI DKtoolian live system, one from: “VGA”, “Terminus”, “TerminusBold”, “TerminusBoldVGA”, or “Fixed”.
Default: VGA.
LIVEAPPENDKBDLAYOUT=string
Kernel parameters to append for keyboard layout.
Default: $LANGSHORT.
XKBMODEL=string
Keyboard model.
Default: pc105
XKBLAYOUT=string
Keyboard layout.
Default: $LANGSHORT
XKBVARIANT=string
Keyboard variant.
Default: none
XKBOPTIONS=string
Keyboard options.
Default: none
XKBBACKSPACE=string
Backspace key, one from: “bs”, “del”, or “guess”.
Default: guess.
SHORTIFNAMES=boolean
Use short interface names to avoid WiFi deauthentication due to long interface names exceeding internal buffer sizes in driver modules.
Default: yes.
LIVEAPPENDIP=string
Kernel parameters to append for IP configuration, one from:
Previous versions of the live-boot documentation listed the following choices which are not mentioned in the recent documentation:
Default: dhcp.
NTPSERVER=string
NTP server to query, either IP address (preferred) or host name.
Default: none (no time synchronization).
USENTPDAEMON=boolean
Query NTP server regularly (yes) or one time at startup (no).
Default: yes.
BOOKMARKURLS=list
A |-separated list of names and URLs of banking websites to add to the bookmarks list for Disklessian. Use “none” to avoid building a bookmarks list.
Default: none
Example
One Bank|https://www.one-bank.com/|Other Bank|https://www.other-bank.com/
BOOKMARKTITLE=text
Title text for the bookmarks.
Default: “Banking” on Disklessian, “Bookmarks” otherwise.
PUBKEYFILE=string
File containing the exported public key of the DK tools packages creator. This public key is used to verify package integrity.
This key is typically used when building a DKtoolian livesystem, not used when building a Disklessian.
Default: /etc/gpg-livesys/livesys.pub.asc
REPURLDKTOOLS=URL
URL used by apt to retrieve DK tools packages, trailing slash required,
i.e. “http://192.168.122.1/debian12/dktools/”.
Use “none” if DK tools are not needed and you did not (yet) prepare a repository.
This key is typically used when building a DKtoolian livesystem, not used when building a Disklessian.
Default: none
UPDATESYSTEM=boolean
Update and upgrade system before building the live system.
Default: yes.
APTRECOMMENDS=boolean
Install recommended packages for packages in the package list too.
Default: yes.
ALLOWLIBREOFF=boolean
Allow installation of LibreOffice.
Default: no for DKtoolian CLI, yes otherwise.
BROWSER=string
Name of the package to install a web browser.
Default: firefox-esr.
ALLOWUNSIGNEDPKG=boolean
Allow installation of unsigned packages.
Default: no.
ALLOWAPTINDICES=boolean
Allow installation of package indices into the live system.
Default: no.
ALLOWNONFREE=boolean
Allow “contrib” and “non-free” software. Some components in computers (mostly WiFi chips, but some ethernet and other chips too) require firmware files to work. Some firmware files are licensed under conditions incompatible with the GPL used by the Linux kernel. For other firmware files the license conditions are simply unknown. If you configure the use of such non-free firmware files here, the resulting live system may be undistributable (you can use it for your own purposes but are not allowed to distribute it to other users).
Default: no.
Recommended value:
Most likely you want to set up MIRRORBOOTSTRAP and MIRRORBINARY to point to nearby servers, at least to servers on the same continent.
MIRRORBOOTSTRAP=URL
Mirror used to bootstrap the derivative from.
The server configured here is also used as server for the root stage (MIRRORCHROOT) and to retrieve installers (MIRRORDEBIANINSTALLER).
Default: http://deb.debian.org/debian/
MIRRORCHROOT=URL
Mirror used in the chroot stage to build the derivative.
Default: $MIRRORBOOTSTRAP
MIRRORCHROOTSECURITY=URL
Mirror for security updates used in the chroot stage to build the derivative.
Default: http://security.debian.org/
MIRRORBINARY=URL
Derivative package mirror used by the live system.
Default: http://deb.debian.org/debian/
MIRRORBINARYSECURITY=URL
Derivatives security package mirror used by the live system.
Default: http://security.debian.org/
MIRRORDEBIANINSTALLER=URL
Derivatives mirror used to fetch Debian installer images.
Default: $MIRRORCHROOT
PARENTMIRRORBOOTSTRAP=URL
Mirror for bootstrapping the system.
Default: $MIRRORBOOTSTRAP
PARENTMIRRORCHROOT=URL
Mirror used in the chroot stage.
Default: $PARENTMIRRORBOOTSTRAP
PARENTMIRRORCHROOTSECURITY=URL
Mirror for security updates used in the chroot stage.
Default: http://security.debian.org/
PARENTMIRRORBINARY=URL
Mirror used by the live system.
Default: $MIRRORBINARY
PARENTMIRRORBINARYSECURITY=URL
Mirror for security updates used by the live system.
Default: $MIRRORBINARYSECURITY
PARENTMIRRORDEBIANINSTALLER=URL
Mirror to fetch Debian installer images from.
Default: $PARENTMIRRORCHROOT
PROXY=URL
Use a (caching) proxy to retrieve the package files.
Default: No proxy used.
The specified proxy URL is passed to “lb config” as --apt-http-proxy option value. Additionally the environment variables “http_proxy” and “ALL_PROXY” are set for all sub processes of dklivesys-build-livesys.
VERBOSE=boolean
Verbose output from dklivesys scripts.
Default: yes.
LBVERBOSE=boolean
Run “lb config” and “lb build” in verbose mode.
Default: VERBOSE setting.
SERIALCONSOLE=boolean
Use a serial console to debug the boot process.
Instead of using this flag a user can add “console=ttyS1 console=tty0” to the kernel parameters when the boot menu is shown.
Default: no.
ALLOWCUPSBROWSED=boolean
Allow cups-browsed to run (yes) or disable and mask the service (no).
Default: yes on DKtoolian, no on Disklessian.
ALLOWBLUETOOTH=boolean
Allow the bluetooth service to run (yes) or disable and mask the service (no).
Default: yes on DKtoolian, no on Disklessian.
The following files contain default sets of packages to install for DEBVMAJ/LIVESYSTYPE/DESKTOP combinations.
Do not modify these files, inspect them only to see which packages are already listed. See next subsection how to add further packages.
${DSRC}/pkg-${LIVESYSTYPE}-host.txt
Packages to install on the build host before building the live system.
${DSRC}/pkg-${LIVESYSTYPE}-base.txt
Packages to install into both command line and desktop live systems.
${DSRC}/pkg-${LIVESYSTYPE}-firmware.txt
Firmware packages.
${DSRC}/pkg-${LIVESYSTYPE}-${DESKTOP}.txt
Packages for the specified desktop.
${DSRC}/pkg-${LIVESYSTYPE}-lang-base.txt
List of all language support packages for command line systems, used only if failed to find a language specific package list.
${DSRC}/pkg-${LIVESYSTYPE}-lang-desktop.txt
List of all language support packages for desktop systems, used only if failed to find a language specific package list.
Use the following files to customize the package sets for LIVESYSTYPE/DEBVMAJ/DESKTOP/LIVETYPE combinations:
Each line contains one package name and optionally a comment separated from package name by raute character #.
Example custom/pkg-none.txt file line:
network-manager # Network manager without GUI support
Create one or more of the following directories and place the *.deb files there:
Note: Do not create empty directories!
Note: For netboot systems create the custom/pkgs-nfs directory and copy the
files created previously into this directory.
If the custom/root directory is present, the contents of this directory is copied into the live systems root file system.
If you want a file to appear in the /usr/local/bin directory of the live system, place it in the custom/root/usr/local/bin directory.
Other directories can be used for files to inject into the live system for specific combinations of live system type, Debian version, desktop, and/or boot type.
Note: Do not create empty directories!
The ${DSRC}/root and ${DSRC}/root-* directories contain default files to inject. They are processed before the custom/root and custom/root-* directories.
If the boot process stops at the
(initramfs)
prompt, errors occured.
Adding files to the initramfs (initial RAM file system) may help.
Place the files in one of the directories listed below.
Note: Do not create empty directories!
Some configuration files in the live systems /etc directory and subdirectories are generated or overwritten automatically at boot time. To provide corrected versions for such files, place them in the /usr/share/dklivesys/etc directory of the live system, i.e. by using the custom/root/usr/share/dklivesys/etc directory.
A special hook copies the contents of the live systems /usr/share/dklivesys/etc to /etc at the end of the boot process immediately before the user login is allowed.
If — for example — your DHCP service provides incomplete information about DNS servers, you might want to place a correct resolv.conf file in the custom/root/usr/share/dklivesys/etc directory.
The scripts in the /usr/share/dklivesys/hooks directory are executed by the dklivesys-boot script after copying the contents of the /usr/share/dklivesys/etc directory to /etc.
To add your scripts to this directory, place them in one of the directories below, create the directory structure if necessary. Set permissions to make the scripts executable.
Note: Do not create empty directories!
Hooks are scripts executed while building the live system. The files must be executable. At the beginning of the name there should be a four digits decimal number to specify order of execution. The name must end on “.hook.chroot” for hooks to execute in the chroot stage and on “.hook.binary” for hooks to execute in the binary stage.
To add hooks, place the scripts in one of the following directories:
Note: Do not create empty directories!
Depending on the configuration some of the hooks listed below are created automatically by the dklivesys scripts itself:
If your hooks are required to be run between specific of the above steps, choose appropriate numbers.
← Previous | ↑ Home | ↑ Live System | Next → |