Introduce support for squashfs-lzma-tools 4.0-1 and support SQUASHFS_BINARY
[grml-live.git] / docs / grml-live.txt
index 54d15d2..fe14de7 100644 (file)
@@ -127,6 +127,11 @@ Specify name of source directory which provides files that should become part of
 the chroot/ISO. Not enabled by default. Note: the files are installed under '/'
 in the chroot so you have to create the rootfs structure on your own.
 
+  -n::
+
+Skip creation of the ISO file. This option is useful if you want to build/update
+the chroot and/or recreate the squashfs file without building an ISO file.
+
   -o **OUTPUT_DIRECTORY**::
 
 Main output directory of the build process of FAI.  Some directories are created
@@ -460,15 +465,100 @@ Current state of grml-live with squashfs-tools and kernel
 To make it easier to track problems this section documents current state of
 grml-live playing together with squashfs-tools / squashfs-lzma-tools (for
 building the compressed file) and the kernel version. Documentation of this
-section is up2date by 04nd of august 2009, please report any bugs you
+section is up2date by 03nd of september 2009, please report any bugs you
 encounter.
 
+Difference between squashfs-lzma-tools and squashfs-tools
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Whereas the ZLIB compression is much faster in the build process, the LZMA
+compression provides a smaller resulting ISO. If you're wondering: the official
+Grml builds use the LZMA compression.
+
+Squashfs-tools was introduced in Debian and once provided support for LZMA
+compression. Sadly LZMA compression within squashfs-tools became unsupported and
+therefore squashfs-lzma-tools had to be introduced. Different kernel versions
+provide different squashfs file formats (version 3.x for kernel versions until
+2.6.28-grml[64], newer kernel versions use the 4.x format).
+
+If you're wondering which package supports which option, here's a short
+overview:
+
+* squashfs-tools 1:4.0-1: ZLIB as default, no LZMA support/options, file format
+version 4
+
+* squashfs-tools 1:3.3-7: ZLIB as default, no LZMA support/options, file format
+version 3
+
+* squashfs-tools 1:3.2r2-9exp1: LZMA as default, ZLIB support via -nolzma
+option, file format version 3
+
+* squashfs-lzma-tools 3.3-1: LZMA as default, ZLIB support via -nolzma option,
+file format version 3
+
+* squashfs-lzma-tools 4.0-1: LZMA as default, no ZLIB support/options, file format 4
+
+Depending on the kernel version you want to use you need different versions
+squashfs-tools/squashfs-lzma-tools. Yes, that's pretty a mess (don't ask how
+much this sucks for us developers) - though this is supposed to calm down with
+the recent integration of squashfs file format 4 in the mainline kernel. Support
+for LZMA is pending and should dramatically simplify the situation for
+developers as well as users.
+
+Using squashfs-tools 1:4.0-1 on the build system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+squashfs-tools 1:4.0-1 is available in Debian/unstable and Debian/testing. It
+provides the  mksquashfs and unsquashfs binaries and the package does NOT
+conflict with the squashfs-lzma-tools 4.0-1 package (you can install both of
+them at the same time).
+
+It provides support for the new squashfs file format version 4 and therefore
+requires kernel versions newer than 2.6.28-grml[64].
+
+It does NOT support LZMA compression. If you need LZMA support please use
+squashfs-lzma-tools instead.
+
+* Kernel 2.6.23-grml[64]: does not work
+* Kernel 2.6.26-grml[64]: does not work
+* Kernel 2.6.28-grml[64]: does not work
+* Kernel 2.6.31-grml[64]: work in progress
+
+[NOTE]
+Please use squashfs-tools 1:4.0-1 if you want to remaster grml releases
+MORE RECENT than 2009.05 using the ZLIB compression.
+
+Using squashfs-lzma-tools 4.0-1 on the build system
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+squashfs-lzma-tools 4.0-1 is available via the grml repositories. It provides
+the mksquashfs-lzma and unsquashfs-lzma binaries and the package does NOT
+conflict with the squashfs-tools package (you can install both of them at the
+same time).
+
+It provides support for the new squashfs file format version 4 and therefore
+requires kernel versions newer than 2.6.28-grml[64].
+
+It does NOT provide support for ZLIB compression. If you need ZLIB support
+please use squashfs-tools 1:4.0-1 instead and use the '-z' option of grml-live
+or set "SQUASHFS_OPTIONS='-nolzma'" in the grml-live configuration file.
+
+* Kernel 2.6.23-grml[64]: does not work
+* Kernel 2.6.26-grml[64]: does not work
+* Kernel 2.6.28-grml[64]: does not work
+* Kernel 2.6.31-grml[64]: work in progress
+
+[NOTE]
+Please use squashfs-lzma-tools 4.0-1 if you want to remaster grml releases
+MORE RECENT than 2009.05 using the LZMA compression.
+
 Using squashfs-lzma-tools 3.3-1 on the build system
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-squashfs-lzma-tools from the grml repository supports kernel 2.6.26-grml[64] and
-2.6.28-grml[64] using both lzma and zlib (-nolzma) compression. It's the
-recommended package for building ISOs with grml-live currently!
+squashfs-lzma-tools 3.3-1 from the grml repository supports kernel
+2.6.26-grml[64] and 2.6.28-grml[64] using both LZMA and ZLIB (-nolzma)
+compression. It's the recommended package for building ISOs with grml-live
+currently!
 
 The packages can be downloaded from
 link:http://deb.grml.org/pool/main/s/squashfs-lzma/[http://deb.grml.org/pool/main/s/squashfs-lzma/].
@@ -480,12 +570,7 @@ Please use squashfs-lzma-tools 3.3-1 if you want to remaster grml release
 Using squashfs-tools 1:3.3-7 on the build system
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-squashfs-tools 1:3.3-7 is available via the official Debian/unstable and
-Debian/testing (Lenny) pool running:
-
-  # aptitude install squashfs-tools=1:3.3-7
-
-or directly via downloading the files
+squashfs-tools 1:3.3-7 is available through
 http://grml.org/squashfs/squashfs-tools_3.3-7_i386.deb (for x86) or
 http://grml.org/squashfs/squashfs-tools_3.3-7_amd64.deb (for amd64) [both build
 on and for Debian/etch but working with testing and unstable as well].
@@ -524,10 +609,10 @@ option in grml-live cmdline):
 Using with LZMA compression:
 
 * Kernel 2.6.23-grml: works
-* Kernel 2.6.26-grml: does NOT work, please use zlib mode instead or switch
-  to Debian package squashfs-lzma-tools (see section above).
-* Kernel 2.6.28-grml: does NOT work, please use zlib mode instead or switch
-  to Debian package squashfs-lzma-tools (see section above).
+* Kernel 2.6.26-grml: does NOT work, please use ZLIB mode instead or switch
+  to Debian package squashfs-lzma-tools 3.3-1 (see section above).
+* Kernel 2.6.28-grml: does NOT work, please use ZLIB mode instead or switch
+  to Debian package squashfs-lzma-tools 3.3-1 (see section above).
 
 [[faq]]
 FAQ
@@ -596,14 +681,14 @@ Instructions
 
   # adjust grml-live configuration for our needs:
   cat > /etc/grml/grml-live.local << EOF
-  # consider using lzma only for space reasons (resulting in longer
+  # consider using LZMA only for space reasons (resulting in longer
   # build time but smaller ISO):
   SQUASHFS_OPTIONS="-nolzma"
   # install local files into the chroot
   CHROOT_INSTALL="/etc/grml/fai/chroot_install"
   ## adjust if necessary (defaults to /grml/grml-live):
   ## OUTPUT="/srv/grml-live"
-  FAI_DEBOOTSTRAP="squeeze http://ftp.de.debian.org/debian/"
+  FAI_DEBOOTSTRAP="squeeze http://cdn.debian.net/debian/"
   ARCH="i386"
   CLASSES="GRMLBASE,GRML_MEDIUM,I386"
   ZERO_LOGFILE='1'
@@ -611,7 +696,7 @@ Instructions
   GRML_LIVE_SOURCES="
   deb http://deb.grml.org/            grml-stable  main
   deb http://deb.grml.org/            grml-testing main
-  deb http://ftp.de.debian.org/debian squeeze main contrib non-free
+  deb http://cdn.debian.net/debian squeeze main contrib non-free
   "
   EOF
 
@@ -742,7 +827,7 @@ How do I create a base.tgz for use as NFSROOT?
 First of all build the chroot system:
 
   mkdir /tmp/nfsroot && cd /tmp/nfsroot
-  debootstrap lenny /tmp/nfsroot/ http://ftp.de.debian.org/debian
+  debootstrap lenny /tmp/nfsroot/ http://cdn.debian.net/debian
   tar zcf base.tgz ./
 
 Then check out where your NFSROOT is located:
@@ -788,10 +873,10 @@ FAI_DEBOOTSTRAP:
   GRML_LIVE_SOURCES="
   deb http://localhost:3142/deb.grml.org grml-stable  main
   deb http://localhost:3142/deb.grml.org grml-testing main
-  deb http://localhost:3142/ftp.de.debian.org/debian lenny main contrib non-free
+  deb http://localhost:3142/cdn.debian.net/debian lenny main contrib non-free
   "
   [...]
-  FAI_DEBOOTSTRAP="lenny http://localhost:3142/ftp.de.debian.org/debian lenny main contrib non-free"
+  FAI_DEBOOTSTRAP="lenny http://localhost:3142/cdn.debian.net/debian lenny main contrib non-free"
 
 Make sure apt-cacher / apt-cacher-ng is running ('/etc/init.d/apt-cacher
 restart' or '/etc/init.d/apt-cacher-ng restart'). That's it.  All downloaded