From: Michael Prokop Date: Sun, 16 Aug 2009 20:57:58 +0000 (+0200) Subject: Introduce $NO_WINDOWS_BINARIES which replaces $WINDOWS_BINARIES; update docs X-Git-Tag: v0.9.21~20 X-Git-Url: https://git.grml.org/?p=grml-live.git;a=commitdiff_plain;h=f9b3683b3fc6373e72fefdf438c669691a4e2f74 Introduce $NO_WINDOWS_BINARIES which replaces $WINDOWS_BINARIES; update docs --- diff --git a/debian/changelog b/debian/changelog index 7b76791..65c7211 100644 --- a/debian/changelog +++ b/debian/changelog @@ -33,6 +33,8 @@ grml-live (0.9.21) UNRELEASED; urgency=low 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, @@ -49,7 +51,7 @@ grml-live (0.9.21) UNRELEASED; urgency=low isolinux.cfg, syslinux.cfg with each other; provide a fallback way to boot MirOS bsd4grml from both GRUB versions using modules - -- Michael Prokop Sun, 16 Aug 2009 21:24:53 +0200 + -- Michael Prokop Sun, 16 Aug 2009 22:57:46 +0200 grml-live (0.9.20) unstable; urgency=low diff --git a/docs/grml-live.txt b/docs/grml-live.txt index bbb75e4..a04746d 100644 --- a/docs/grml-live.txt +++ b/docs/grml-live.txt @@ -89,18 +89,18 @@ So instead of GRML_MEDIUM you can also use GRML_SMALL and GRML_FULL. -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:: @@ -143,7 +143,7 @@ Specify name of the release. 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**:: @@ -245,9 +245,9 @@ files/directories. 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/). @@ -322,8 +322,17 @@ Script for the main build process. Requires root permissions for execution. /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 @@ -632,14 +641,18 @@ further details. 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 -: +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 : # 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 + +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? diff --git a/etc/grml/grml-live.conf b/etc/grml/grml-live.conf index c9ff7ad..c7c6ff8 100644 --- a/etc/grml/grml-live.conf +++ b/etc/grml/grml-live.conf @@ -4,37 +4,43 @@ # 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?# @@ -42,7 +48,7 @@ ISO_OUTPUT="$OUTPUT/grml_isos" # 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) @@ -54,7 +60,7 @@ CLASSES="GRMLBASE,GRML_MEDIUM,I386" # /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 @@ -75,20 +81,20 @@ CLASSES="GRMLBASE,GRML_MEDIUM,I386" # 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" @@ -98,7 +104,7 @@ USERNAME=grml # 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="" @@ -143,15 +149,16 @@ GRML_FAI_CONFIG=/etc/grml/fai # *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 ################################################################# diff --git a/grml-live b/grml-live index ce61ca7..a710bcf 100755 --- a/grml-live +++ b/grml-live @@ -233,20 +233,28 @@ shift $(($OPTIND - 1)) # set ARGV to the first not parsed commandline parameter # }}} # 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 {{{ @@ -590,7 +598,11 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then 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 @@ -730,7 +742,11 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then 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 @@ -744,8 +760,8 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then 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