docs: don't mention Grml/Debian repositories for squashfs-tools any longer
[grml-live.git] / docs / grml-live.txt
index 41f36da..293cfd2 100644 (file)
@@ -14,7 +14,7 @@ grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [
 -e <extract_iso_name>] [-g <grml_name>] [-i <iso_name>] [
 -o <output_directory>] [-r <release_name>] [-s <suite>] [
 -t <template_directory>] [-v <version_number>] [-U <username>] [
--AbBFnNqQuVz]
+-w <date>] [-AbBFnNqQuVz]
 
 Description
 -----------
@@ -203,9 +203,10 @@ Specify name of the release.
 
   -s **SUITE**::
 
-Specify the Debian suite you want to use for your live-system.  Defaults to
-"squeeze" (being current Debian/stable). Supported values are: etch, lenny,
-squeeze, sid. Debian "squeeze" requires a recent base.tgz
+Specify the Debian suite you want to use for your live-system. If unset defaults
+to "testing". Supported values are: stable, testing, unstable (or their
+corresponding release names like "jessie"). Please be aware that recent Debian
+suites might require a recent base.tgz
 (${GRML_FAI_CONFIG}/config/basefiles/$CLASSNAME.tar.gz) or a recent version of
 debootstrap.
 
@@ -231,6 +232,22 @@ Specify version number of the release.
 
 Increase verbosity in the build process.
 
+  -w **DATE**::
+
+The wayback machine. Build the system using Debian archives from the specified
+date.  Valid date formats are yyyymmddThhmmssZ or simply yyyymmdd.  To learn
+which snapshots exist, i.e. which date strings are valid, simply browse the
+lists on http://snapshot.debian.org/.  If there is no import at the exact time
+you specified you will get the latest available timestamp which is before the
+time you specified.
+This option is useful especially for release and debugging builds - for example
+if you know that the Debian archive was in a good state on a specific date but
+you want to build it on another day in the future, where the archive might not
+be as needed anymore. Please be aware that this is restricted to the plain
+Debian repositories only, as referred to in /etc/apt/sources.list.d/debian.list
+(so neither the Grml repositories nor any further custom ones are affected by
+the wayback machine).
+
   -z::
 
 Use ZLIB instead of LZMA/XZ compression in mksquashfs part of the build process.
@@ -284,7 +301,7 @@ The main and base class provided by grml-live is named GRMLBASE. It's strongly
 recommended to **always** use the class GRMLBASE when building an ISO using
 grml-live, as well as the architecture dependent class which provides the kernel
 (being 'I386' for x86_32 and 'AMD64' for x86_64) and a GRML_* class (like
-GRML_SMALL, GRML_MEDIUM or GRML_FULL). The following files and directories are
+GRML_SMALL or GRML_FULL). The following files and directories are
 relevant for class GRMLBASE by default:
 
   ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/
@@ -318,23 +335,21 @@ selected. The following classes are predefined:
 
 * DEBORPHAN: get rid of all packages listed in output of deborphan
 
+* FRESHCLAM: execute freshclam (if it's present) to update clamav definitions
+(increases resulting ISO size ~70MB). By default it's skipped to avoid bigger
+ISO size.
+
 * GRMLBASE: the main class responsible for getting a minimal subset of what's
 defining a Grml system. Important parts of the buildprocess are specified in
 this class as well, so unless you have a really good reason you should always
 use this class.
 
 * GRML_FULL: full featured Grml, also known as the "normal", full grml as
-introduced in December 2011 (~350MB ISO size).
+introduced in December 2011 (~460MB ISO size).
 
-* GRML_MEDIUM: medium sized Grml version, used to be known as grml-medium
-until December 2011 (~220MB ISO size).
-
-* GRML_SMALL: minimum sized Grml version, known as grml-small (~110MB ISO
+* GRML_SMALL: minimum sized Grml version, known as grml-small (~230MB ISO
 size).
 
-* GRML_XL: large size Grml version, used to be known as "full grml" until
-December 2011 (~700MB ISO size).
-
 * LATEX: LaTeX(-related) packages like auctex, texlive,...
 (which used to be shipped by grml before the LaTeX removal)
 
@@ -476,9 +491,8 @@ For further information see next section.
 Current state of grml-live with squashfs-tools and kernel
 ---------------------------------------------------------
 
-Use squashfs-tools >=4.2-1 (available from Grml repositories as well as from
-Debian/testing and Debian/unstable) to build Grml (based) ISOs featuring kernel
-version 2.6.38-grml[64] or newer.
+Use squashfs-tools >=4.2-1 to build Grml (based) ISOs featuring kernel version
+2.6.38-grml[64] or newer.
 
 [[faq]]
 FAQ
@@ -492,10 +506,9 @@ The easiest way to get a running grml-live setup is to just use Grml.
 Of course using grml-live on a plain, original Debian installation is supported
 as well. So there we go.
 
-What we have: plain, original Debian squeeze (6.0) with debian-backports
-enabled. (This is important for squashfs-tools.)
+What we have: plain, original Debian jessie (8.x).
 
-What we want: build a Grml ISO based on Debian/wheezy for the amd64 architecture
+What we want: build a Grml ISO based on Debian/jessie for the amd64 architecture
 using grml-live.
 
 Instructions
@@ -524,7 +537,6 @@ Instructions
   # mv AMD64.tar.gz /etc/grml/fai/config/basefiles/
 
   # install relevant tools
-  apt-get install -t squeeze-backports squashfs-tools
   apt-get --no-install-recommends install grml-live
 
   # adjust grml-live configuration for our needs:
@@ -538,19 +550,19 @@ Instructions
   # CHROOT_INSTALL="/etc/grml/fai/chroot_install"
   ## adjust if necessary (defaults to /grml/grml-live):
   ## OUTPUT="/srv/grml-live"
-  FAI_DEBOOTSTRAP="wheezy http://http.debian.net/debian/"
+  FAI_DEBOOTSTRAP="jessie http://ftp.debian.org/debian/"
   # ARCH="amd64"
   CLASSES="GRMLBASE,GRML_FULL,AMD64"
   EOF
 
   # just optional(!) - upgrade FAI to latest available version:
-  cat >> /etc/apt/sources.list << EOF
-  # fai:
-    deb http://fai-project.org/download squeeze koeln
+  cat >> /etc/apt/sources.list.d/fai.list << EOF
+  deb     http://jenkins.grml.org/debian fai main
+  deb-src http://jenkins.grml.org/debian fai main
   EOF
 
   # get gpg key of FAI repos and install current FAI version:
-  gpg -a --recv-keys AB9B66FD; gpg -a --export AB9B66FD | apt-key add -
+  wget -O - http://jenkins.grml.org/debian/C525F56752D4A654.asc | sudo apt-key add -
   apt-get update
   apt-get install fai-client fai-server fai-doc
 
@@ -651,7 +663,7 @@ How do I create a base.tgz?
 First of all create the chroot using debootstrap:
 
   BASECHROOT='/tmp/basefile'
-  debootstrap squeeze "$BASECHROOT" http://http.debian.net/debian
+  debootstrap jessie "$BASECHROOT" http://ftp.debian.org/debian
   tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf base.tar.gz ./
 
 [TIP]
@@ -684,7 +696,7 @@ FAI_DEBOOTSTRAP:
   [...]
   APT_PROXY="http://localhost:3142/"
   [...]
-  FAI_DEBOOTSTRAP="squeeze http://localhost:3142/http.debian.net/debian squeeze main contrib non-free"
+  FAI_DEBOOTSTRAP="jessie http://localhost:3142/ftp.debian.org/debian jessie main contrib non-free"
 
 Make sure apt-cacher-ng is running ('/etc/init.d/apt-cacher-ng restart').
 That's it.  All downloaded files will be cached in /var/cache/apt-cacher-ng then.
@@ -711,7 +723,7 @@ How do I create a base tar.gz (I386.tar.gz or AMD64.tar.gz)
 Execute the following commands (requires root):
 
   ARCH='amd64' # replace with i386 if necessary
-  SUITE='squeeze' # using the current stable release should always work
+  SUITE='jessie' # using the current stable release should always work
   debootstrap --arch "$ARCH" --exclude=info,tasksel,tasksel-data "$SUITE" "$ARCH" http://debian.netcologne.de/debian
   cd "$ARCH"
   rm var/cache/apt/archives/*.deb
@@ -721,6 +733,30 @@ And finally place the generated tarball in /etc/grml/fai/config/basefiles/ (note
 that it needs to be uppercase letters matching the class names, so: AMD64.tar.gz
 for amd64 and I386.tar.gz for i386).
 
+[[localrepos]]
+How to use your own local repository
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Let's assume you have Debian package(s) in your filesystem inside
+`/home/foobar/local-packages` and want to include that in your grml-live build.
+Make sure to create an according sources.list configuration file, e.g. using
+your own class name `CUSTOM`:
+
+  # cat > /etc/grml/fai/config/files/etc/apt/sources.list.d/local-packages.list/CUSTOM << EOF
+  deb file:///home/foobar/local-packages ./
+  EOF
+
+Add the according MIRROR_DIRECTORY configuration to your grml-live configuration:
+
+  # echo "MIRROR_DIRECTORY='/home/foobar/packages'" >> /etc/grml/grml-live.local
+
+Make sure the local directory looks like a mirror:
+
+  % cd /home/foobar/packages && /usr/bin/dpkg-scanpackages . /dev/null > ./Packages
+
+Finally invoke grml-live with your class name (`CUSTOM` in this example) added
+to the list of classes (see grml-live option `-c`).
+
 [[download]]
 Download / install grml-live as a Debian package
 ------------------------------------------------