grml-live (0.0.7) unstable; urgency=low
+ The "holidays? what? are you joking?!"-release.
+
* Added FAI patches to /usr/share/grml-live/patches/ - it's
recommended to apply the patches to FAI until they are accepted
upstream. See Debian's BTS for more details: #444210, #447080
be used manually only if you realy know what you are doing.
Notice: if something fails inside building the base chroot/
debootstrap system we can't do anything via grml-live for you
- right now. Instead grab http://daily.grml.org/base.tgz
- and place that at $NFSROOT/nfsroot/live/filesystem.dir/var/tmp/base.tgz
+ right now. Instead grab the base.tgz from http://daily.grml.org/
* Add /usr/share/grml-live/scripts/repodiff.pl (by formorer, thx!)
for comparing two repositories.
* Replaced /etc/grml/fai/files/etc/apt/preferences
can be used and configured at a single place.
* Use apt-pinning via /etc/grml/fai/config/hooks/instsoft.GRMLBASE
and drop it from /etc/grml/fai/config/scripts/GRMLBASE/33-aptsetup
+ later again.
* Display version number of grml-live.
* Log executed grml-live command line.
* Set FAI_DEBOOTSTRAP_OPTS="--exclude=dhcp-client,info"
grml-live [-a <architecture>] [-c <classe[s]>] [-g <grml_name>] [-i <iso_name> ]
[-o <output_directory>] [-r <release_name>] [-s <suite>] [-t
-<template_directory>] [-v <version_number>] [-FVh]
+<template_directory>] [-v <version_number>] [-FVhu]
*******************************************************************************
Important! This document is growing as requested. If you have questions which
Specify place of the templates used for building the ISO. By default
(and if not manually specified) this is /usr/share/grml-live/templates/.
+ -u::
+
+Update existing chroot instead of rebuilding it from scratch. This option is
+based on the softupdate feature of FAI.
+
-v **VERSION_NUMBER**::
Specify version number of the release.
Available classes
-----------------
-To be done...
+Documentation to be done...
Files
-----
This directory provides the files used for building the initramfs/initrd via
live-initramfs(8).
+Available log files
+-------------------
+
+grml-live itself logs to /var/log/grml-live.log. Unless you set ZERO_LOGFILE in
+/etc/grml/grml-live.conf the output is appended to the file. If you set the
+ZERO_LOGFILE configuration option the logfile will be truncated on a new
+invocation of grml-live.
+
+The FAI part of grml-live logs to /var/log/fai/dirinstall/$HOSTNAME - so the
+default being /var/log/fai/dirinstall/grml.
+
+If you are using the update option of grml-live (option -u) the logs are
+available at /var/log/fai/current.
+
Requirements for the build system
---------------------------------
mv base.tgz /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz
+or even better use /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz instead.
+Use I386 as $CLASSNAME for i386 builds and AMD64 for amd64 builds.
+
Now running "grml-live ..." will use this file as main system instead of
-executing debootstrap. Check out the output for the following lines:
+executing debootstrap. Check out the output for the following lines if using
+NFSROOT:
[...]
Calling task_extrbase
Calling task_mirror
[...]
-[NOTE]
+or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
-Notice that you can also use /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz if
-you prefer to use /etc as the main configuration directory instead of
-/path/to/nfsroot/.... (Thanks to Thomas Lange for the tip.)
+ [...]
+ ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to
+ /grml-live/grml-live_20071029.22138/grml_chroot//
+ [...]
Set up apt-cacher for use with grml-live
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2 or any later version.
-# Latest change: Sun Oct 28 23:52:20 CET 2007 [mika]
+# Latest change: Die Okt 30 00:09:42 CET 2007 [mika]
################################################################################
# read configuration files, set some misc variables {{{
Usage: $PN [-a <architecture>] [-c <classe[s]>] [-g <grml_name>] \\
[-i <iso_name> ] [-o <output_directory>] [-s <suite>] \\
[-t <template_directory>] [-s <suite>] \\
- [-v <version_number>] [-FVh]
+ [-v <version_number>] [-FVhu]
Usage examples:
# i386:
if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
- if [ -d "$BUILD_OUTPUT"/boot ] ; then
+ if [ -d "$BUILD_OUTPUT"/boot -a -z "$UPDATE" ] ; then
log "$BUILD_OUTPUT/boot exists already, skipping stage 'boot'"
ewarn "$BUILD_OUTPUT/boot exists already, skipping stage 'boot'" ; eend 0
else
# booting stuff:
- mkdir -p "$BUILD_OUTPUT"/boot/isolinux
+ [ -d "$BUILD_OUTPUT"/boot/isolinux ] || mkdir -p "$BUILD_OUTPUT"/boot/isolinux
cp /boot/memtest86+.bin "$BUILD_OUTPUT"/boot/isolinux/memtest
# if we don't have an initrd we a) can't boot and b) there was an error
bailout 10
fi
- cp "$CHROOT_OUTPUT"/boot/vmlinuz* "$BUILD_OUTPUT"/boot/isolinux/linux26
- cp /usr/lib/syslinux/chain.c32 "$BUILD_OUTPUT"/boot/isolinux/
- cp /usr/lib/syslinux/isolinux.bin "$BUILD_OUTPUT"/boot/isolinux/
- cp /usr/lib/syslinux/memdisk "$BUILD_OUTPUT"/boot/isolinux/
- cp /usr/lib/syslinux/menu.c32 "$BUILD_OUTPUT"/boot/isolinux/
+ cp "$CHROOT_OUTPUT"/boot/vmlinuz* "$BUILD_OUTPUT"/boot/isolinux/linux26
+ cp /usr/lib/syslinux/chain.c32 "$BUILD_OUTPUT"/boot/isolinux/
+ cp /usr/lib/syslinux/isolinux.bin "$BUILD_OUTPUT"/boot/isolinux/
+ cp /usr/lib/syslinux/memdisk "$BUILD_OUTPUT"/boot/isolinux/
+ cp /usr/lib/syslinux/menu.c32 "$BUILD_OUTPUT"/boot/isolinux/
[ -n "$TEMPLATE_DIRECTORY" ] || TEMPLATE_DIRECTORY='/usr/share/grml-live/templates'
if ! [ -d "${TEMPLATE_DIRECTORY}"/boot ] ; then
eerror "${TEMPLATE_DIRECTORY}/boot does not exist. Exiting." ; eend 1
bailout 8
fi
+
cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/
cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/
- cp -a ${TEMPLATE_DIRECTORY}/boot/grub "$BUILD_OUTPUT"/boot/
+ if ! [ -d "${TEMPLATE_DIRECTORY}/boot/grub" ] ; then
+ cp -a ${TEMPLATE_DIRECTORY}/boot/grub "$BUILD_OUTPUT"/boot/
+ fi
if ! [ -d "${TEMPLATE_DIRECTORY}"/GRML ] ; then
log "${TEMPLATE_DIRECTORY}/GRML does not exist. Exiting."
eerror "${TEMPLATE_DIRECTORY}/GRML does not exist. Exiting." ; eend 1
bailout 9
fi
+
[ -d "$BUILD_OUTPUT"/GRML ] || mkdir "$BUILD_OUTPUT"/GRML
cp -a ${TEMPLATE_DIRECTORY}/GRML/* "$BUILD_OUTPUT"/GRML/
if [ -d "${TEMPLATE_DIRECTORY}/windows/autostart/" ] ; then
cp ${TEMPLATE_DIRECTORY}/windows/autostart/* "$BUILD_OUTPUT"/
fi
+
# windows-binaries:
if [ -n "$WINDOWS_BINARIES" ] ; then
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
else
- mkdir "$BUILD_OUTPUT"/windows
- ( cd "$BUILD_OUTPUT"/windows
- for file in pageant plink pscp psftp putty puttygen ; do
- wget -O ${file}.exe ${WINDOWS_BINARIES}/${file}.exe
- done )
+ if ! [ -d "$BUILD_OUTPUT"/windows ] ; then
+ mkdir "$BUILD_OUTPUT"/windows
+ ( cd "$BUILD_OUTPUT"/windows
+ for file in pageant plink pscp psftp putty puttygen ; do
+ wget -O ${file}.exe ${WINDOWS_BINARIES}/${file}.exe
+ done )
+ fi
fi
log "Finished execution of stage 'WINDOWS_BINARIES' [$(date)]"
einfo "Finished execution of stage 'WINDOWS_BINARIES'" ; eend 0
eerror 'Error: Unsupported ARCH, sorry. Want to support it? Contribute!' ; eend 1
fi
-if [ -f "$BUILD_OUTPUT"/live/grml.squashfs ] ; then
+if [ -f "$BUILD_OUTPUT"/live/grml.squashfs -a -z "$UPDATE" ] ; then
log "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'"
ewarn "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'" ; eend 0
else
BOOT_FILE="boot/grub/stage2_eltorito"
fi
-if [ -f "${ISO_OUTPUT}/${ISO_NAME}" ] ; then
+if [ -f "${ISO_OUTPUT}/${ISO_NAME}" -a -z "$UPDATE" ] ; then
log "$ISO_OUTPUT exists already, skipping stage 'iso build'"
ewarn "$ISO_OUTPUT exists already, skipping stage 'iso build'" ; eend 0
else