easier rebranding of grml-live based distributions.
* Detect existence of stage 'boot' using boot/isolinux so grml-live
executed with options '-q -B' and empty boot/isolinux works as well.
+ * Introduce $NO_WINDOWS_BINARIES which replaces $WINDOWS_BINARIES so
+ we can improve sanity checks and easify configuration.
* Software related changes:
- Add git-email to GRML_FULL (thanks to Joerg Woelke for mentioning).
- Add aesfix, aeskeyfind, bios-memimage, chaosreader, ext3grep, fatback,
isolinux.cfg, syslinux.cfg with each other; provide a fallback
way to boot MirOS bsd4grml from both GRUB versions using modules
- -- Michael Prokop <mika@grml.org> Sun, 16 Aug 2009 21:24:53 +0200
+ -- Michael Prokop <mika@grml.org> Sun, 16 Aug 2009 22:57:46 +0200
grml-live (0.9.20) unstable; urgency=low
-C **CONFIGURATION_FILE**::
The specified file is used as configuration file for grml-live. By default
-/etc/grml/grml-live.conf is used for main configuration. If a file named
+/etc/grml/grml-live.conf is used as default configuration. If a file named
/etc/grml/grml-live.local exists it is used as well (sourced after reading
-/etc/grml/grml-live.conf to allow overriding settings). As a last option the
-specified configuration file is sourced so it is possible to override settings
-of /etc/grml/grml-live.conf as well as of /etc/grml/grml-live.local. Please
-notice that all configuration files have to be adjusted during execution of
-grml-live, so please make sure you use /etc/grml/grml-live.conf as a base for
-your own configuration file. Please also notice that the configuration file
-specified via this option is **not** (yet) supported inside the
-scripts/hooks/classes at /etc/grml/fai/config. Instead use
-/etc/grml/grml-live.conf and/or /etc/grml/grml-live.local for configuration
-stuff used inside /etc/grml/fai/config.
+/etc/grml/grml-live.conf meant as main file for local configuration). As a last
+option the specified configuration file is sourced so it is possible to override
+settings of /etc/grml/grml-live.conf as well as of /etc/grml/grml-live.local.
+Please notice that all configuration files have to be adjusted during execution
+of grml-live, so please make sure you use /etc/grml/grml-live.conf as a base for
+your own configuration file (usually /etc/grml/grml-live.local). Please also
+notice that the configuration file specified via this option is **not** (yet)
+supported inside the scripts/hooks/classes at /etc/grml/fai/config. Instead use
+/etc/grml/grml-live.local for configuration stuff used inside
+/etc/grml/fai/config.
-F::
Specify the Debian suite you want to use for your live-system. Defaults to
"lenny" (being current Debian/stable). Supported values are: etch, lenny, sid.
Debian "squeeze" (current Debian/testing) requires base.tgz
-(/etc/grml/fai/config/basefiles/....tar.gz) until it's supported by debootstrap.
+(/etc/grml/fai/config/basefiles/....tar.gz) or a recent version of debootstrap.
-t **TEMPLATE_DIRECTORY**::
If you want to use your own configuration, extend an existing configuration
and/or add additional packages to your ISO just invent a new class (or extend an
existing one). For example if you want to use your own class named "FOOBAR" just
-extend CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.conf to
-CLASSES="GRMLBASE,GRML_SMALL,I386,FOOBAR" or invoke grml-live using the classes
-option: "grml-live -c GRMLBASE,GRML_SMALL,I386,FOOBAR ...".
+set CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.local or
+invoke grml-live using the classes option: "grml-live -c
+GRMLBASE,GRML_SMALL,I386,FOOBAR ...".
More details regarding the class concept can be found in the documentation of
FAI itself (being available at /usr/share/doc/fai-doc/).
/etc/grml/grml-live.conf
-Main configuration file for grml-live. All the important steps can be configured
-at this stage.
+Main configuration file for grml-live which should be considered as a reference
+configuration file only. Please use /etc/grml/grml-live.local for local
+configuration instead.
+
+ /etc/grml/grml-live.local
+
+All the local configuration should go to this file. This file overrides any
+defaults of grml-live. Configurations via /etc/grml/grml-live.local are prefered
+over the ones from /etc/grml/grml-live.conf. If you want to override settings
+from /etc/grml/grml-live.local as well you have to specify them on the grml-live
+commandline.
/etc/grml/fai/fai.conf
I've problems with the build process. How to start debugging?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Check out the logs inside /var/log/fai/... If you don't have the time to debug
-the problem in further detail or don't know how to proceed just send a copy of
-your config, logs and the commandline with a short problem description to
-<mika@grml.org>:
+Check out the logs inside /var/log/fai/... If you think it's a bug in grml-live
+send a copy of your config, logs and the commandline with a short problem
+description to <mika@grml.org>:
# history | grep grml-live > /etc/grml/grml_live.cmdline
# tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \
/etc/grml/grml-buildd.conf /var/log/fai /etc/grml/fai
+ -> finally mail grml_live_problem.tar.gz to <mika@grml.org>
+
+If you need help with grml-live or would like to see new features as part of
+grml-live you can get commercial support via
+link:http://grml-solutions.com/[Grml Solutions].
[[local-debian-mirror]]
Can I use my own (local) Debian mirror?
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2 or any later version.
################################################################################
+# !!!!!! IMPORTANT NOTE !!!!!
+# This file is meant as a reference. Please adjust your local configuration
+# via /etc/grml/grml-live.local instead as this file is marked as configuration
+# file in your package management.
+# !!!!!! IMPORTANT NOTE !!!!!
+################################################################################
# Main output directory
# Please notice that you need suid,dev,rw permissions there
-OUTPUT="/grml/grml-live"
+# OUTPUT="/grml/grml-live"
# You have enough RAM? Use shared memory for fast testing-purposes:
# OUTPUT="/dev/shm" # mount -o remount,suid,dev,rw /dev/shm
# Where do want to find the chroot of the buildprocess files?
-CHROOT_OUTPUT="$OUTPUT/grml_chroot"
+# CHROOT_OUTPUT="$OUTPUT/grml_chroot"
# Where do you want to find the compressed chroot, bootstuff,...?
-BUILD_OUTPUT="$OUTPUT/grml_cd"
+# BUILD_OUTPUT="$OUTPUT/grml_cd"
# Where do you want to find the final ISO?
-ISO_OUTPUT="$OUTPUT/grml_isos"
+# ISO_OUTPUT="$OUTPUT/grml_isos"
# Do you want to zero / clean up the logfile on each grml-live execution?
# Especially useful if you are using an autobuild setup where you want
# store /var/log/grml-live.log after each invocation of grml-live.
# Default: unset (so do not zero the logfile)
-#ZERO_LOGFILE='1'
+# ZERO_LOGFILE='1'
# Do you want to zero / clean up / remove the previous logfiles of FAI
# before executing grml-live? Otherwise keep all the logfiles inside
# /var/log/fai/$HOSTNAME/...
# Default: unset (so do not remove the logfile(s))
-#ZERO_FAI_LOGFILE='1'
+# ZERO_FAI_LOGFILE='1'
# Which Debian suite to you want to use? Unless it is set it defaults to "lenny"
# Supported values are: etch, lenny, sid
# squeeze -> requires /etc/grml/fai/config/basefiles/....tar.gz
-# until supported by debootstrap
-# SUITE="sid"
+# or a recent version of debootstrap
+# SUITE="lenny"
# Which FAI classes do you want to use by default?#
# are doing; make sure to also use a GRML_* class (for example GRML_SMALL,
# GRML_MEDIUM or GRML_FULL) to get an according kernel and also select the
# architecture (I386 for x86; AMD64 for x86_64)
-CLASSES="GRMLBASE,GRML_MEDIUM,I386"
+# CLASSES="GRMLBASE,GRML_MEDIUM,I386"
## Which mirrors do you want to use? Please set GRML_LIVE_SOURCES *and*
## *FAI_DEBOOTSTRAP* accordingly. To use a local directory (like an NFS mount)
# /etc/grml/fai/apt/sources.list provides by default. But please do *not*
# manually edit /etc/grml/fai/apt/sources.list but instead use $GRML_LIVE_SOURCES.
# Use the variable as your /etc/apt/sources.list looks like.
-#GRML_LIVE_SOURCES="
+# GRML_LIVE_SOURCES="
#deb http://192.168.1.112/debian lenny main contrib non-free
#deb http://deb.grml.org/ grml-stable main
#deb http://deb.grml.org/ grml-testing main
# MIRROR_SOURCES="deb file:///mnt/mirror/debian sid main contrib non-free"
# Version number of ISO:
-VERSION="0.0-1"
+# VERSION="0.0-1"
# Name of the release:
-RELEASENAME="grml-live just rocks!"
+# RELEASENAME="grml-live rocks"
# Which "grml flavour name" do you want to use?
# Common usage examples: grml, grml-small, grml64,...
-GRML_NAME="grml"
+# GRML_NAME="grml"
# Specify hostname of the live-system:
-HOSTNAME=grml
+# HOSTNAME=grml
# Specify user with UID 1000 on live-system:
-USERNAME=grml
+# USERNAME=grml
# Specify options for Squashfs build stage (running mksquashfs):
# SQUASHFS_OPTIONS="-nolzma"
# BOOT_METHOD='isolinux'
# Directory of configuration files for grml-live's FAI:
-GRML_FAI_CONFIG=/etc/grml/fai
+# GRML_FAI_CONFIG=/etc/grml/fai
# Do you want to pass any additional arguments to FAI?
# FAI_ARGS=""
# *without* having to run grml2usb (like: 'dd if=grml.iso of=/dev/sdX')
# - working both with the same ISO
# HYBRID_METHOD='disable' # do not create a hybrid ISO
-# HYBRID_METHOD='isohybrid' # use isohybrid instead of the default (being manifold)
+# HYBRID_METHOD='isohybrid' # use isohybrid instead of the default (being manifold)
# exclude files from compressed squashfs file using the
# the mksquashfs option -ef:
# SQUASHFS_EXCLUDES_FILE="/etc/grml/fai/squashfs-excludes"
-# Do you want to download pageant, plink, pscp, psftp, putty and puttygen
+# Skip download of pageant, plink, pscp, psftp, putty and puttygen
# using wget to store it inside $BUILD_OUTPUT/windows/?
-# Just unset it do skip download via wget or modify the download URL.
-WINDOWS_BINARIES="http://the.earth.li/~sgtatham/putty/latest/x86/"
+# NO_WINDOWS_BINARIES="1"
+# URL for downloading the windows files:
+# WINDOWS_BINARIES="http://the.earth.li/~sgtatham/putty/latest/x86/"
## END OF FILE #################################################################
# }}}
# assume sane defaults (if not set already) {{{
-[ -n "$ARCH" ] || ARCH="$(dpkg --print-architecture)"
-[ -n "$BOOT_METHOD" ] || BOOT_METHOD='isolinux'
-[ -n "$CLASSES" ] || CLASSES='GRML,I386'
-[ -n "$DISTRI_INFO" ] || DISTRI_INFO='Grml - Live Linux for system administrators '
-[ -n "$DISTRI_NAME" ] || DISTRI_NAME="grml"
-[ -n "$DISTRI_SPLASH" ] || DISTRI_SPLASH='grml.png'
-[ -n "$GRML_FAI_CONFIG" ] || GRML_FAI_CONFIG='/etc/grml/fai'
-[ -n "$GRML_NAME" ] || GRML_NAME='grml'
-[ -n "$HOSTNAME" ] || HOSTNAME='grml'
-[ -n "$NFSROOT_CONF" ] || NFSROOT_CONF='/etc/grml/fai/make-fai-nfsroot.conf'
-[ -n "$RELEASENAME" ] || RELEASENAME='grml-live rocks'
-[ -n "$SUITE" ] || SUITE='stable'
-[ -n "$USERNAME" ] || USERNAME='grml'
-[ -n "$VERSION" ] || VERSION='0.0.1'
+[ -n "$ARCH" ] || ARCH="$(dpkg --print-architecture)"
+[ -n "$BOOT_METHOD" ] || BOOT_METHOD='isolinux'
+[ -n "$BUILD_OUTPUT" ] || BUILD_OUTPUT="$OUTPUT/grml_cd"
+[ -n "$CHROOT_OUTPUT" ] || CHROOT_OUTPUT="$OUTPUT/grml_chroot"
+[ -n "$CLASSES" ] || CLASSES="GRMLBASE,GRML_MEDIUM,I386"
+[ -n "$DISTRI_INFO" ] || DISTRI_INFO='Grml - Live Linux for system administrators '
+[ -n "$DISTRI_NAME" ] || DISTRI_NAME="grml"
+[ -n "$DISTRI_SPLASH" ] || DISTRI_SPLASH='grml.png'
+[ -n "$GRML_FAI_CONFIG" ] || GRML_FAI_CONFIG='/etc/grml/fai'
+[ -n "$GRML_NAME" ] || GRML_NAME='grml'
+[ -n "$HOSTNAME" ] || HOSTNAME='grml'
+[ -n "$ISOLINUX_METHOD" ] || ISOLINUX_METHOD='console'
+[ -n "$ISO_OUTPUT" ] || ISO_OUTPUT="$OUTPUT/grml_isos"
+[ -n "$NFSROOT_CONF" ] || NFSROOT_CONF='/etc/grml/fai/make-fai-nfsroot.conf'
+[ -n "$OUTPUT" ] || OUTPUT='/grml/grml-live'
+[ -n "$RELEASENAME" ] || RELEASENAME='grml-live rocks'
+[ -n "$SQUASHFS_EXCLUDES_FILE " ] || SQUASHFS_EXCLUDES_FILE='/etc/grml/fai/squashfs-excludes'
+[ -n "$SUITE" ] || SUITE='stable'
+[ -n "$TEMPLATE_DIRECTORY" ] || TEMPLATE_DIRECTORY='/usr/share/grml-live/templates'
+[ -n "$USERNAME" ] || USERNAME='grml'
+[ -n "$VERSION" ] || VERSION='0.0.1'
+[ -n "$WINDOWS_BINARIES" ] || WINDOWS_BINARIES='http://the.earth.li/~sgtatham/putty/latest/x86/'
# }}}
# some misc checks before executing FAI {{{
cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/
- if [ -z "$NO_ADDONS" ] ; then
+ if [ -n "$NO_ADDONS" ] ; then
+ log "Skipping installation boot addons requested via \$NO_ADDONS."
+ einfo "Skipping installation boot addons requested via \$NO_ADDONS."
+ eend 0
+ else
if ! [ -d /usr/share/grml-live/templates/boot/addons/bsd4grml ] ; then
ewarn "Boot addons not found, skipping therefore. (Consider installing package grml-live-addons)" ; eend 0
else
fi
# windows-binaries:
- if [ -n "$WINDOWS_BINARIES" ] ; then
+ if [ -n "$NO_WINDOWS_BINARIES" ] ; then
+ log "Skipping download of windows binaries as requested via \$NO_WINDOWS_BINARIES."
+ einfo "Skipping download of windows binaries as requested via \$NO_WINDOWS_BINARIES."
+ eend 0
+ else
if [ -f "$BUILD_OUTPUT"/windows/putty.exe ] ; then
log "$BUILD_OUTPUT/windows exists already, skipping stage 'WINDOWS_BINARIES'"
ewarn "$BUILD_OUTPUT/windows exists already, skipping stage 'WINDOWS_BINARIES'" ; eend 0
done )
fi
fi
- log "Finished execution of stage 'WINDOWS_BINARIES' [$(date)]"
- einfo "Finished execution of stage 'WINDOWS_BINARIES'" ; eend 0
+ log "Finished execution of stage 'WINDOWS_BINARIES' [$(date)]"
+ einfo "Finished execution of stage 'WINDOWS_BINARIES'" ; eend 0
fi
einfo "Finished execution of stage 'boot'" ; eend 0
fi