X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=docs%2Fgrml-live.txt;h=3d7d0f57de4985828859cfb1fe7b816a4ea123ce;hp=54d15d2aef330ed1ca6dfbecee269a72baafb22c;hb=76c2477869d78db80ac901df171685789a8f139b;hpb=36c28682d60241e5f36136983cb3ce09dbe9f668 diff --git a/docs/grml-live.txt b/docs/grml-live.txt index 54d15d2..3d7d0f5 100644 --- a/docs/grml-live.txt +++ b/docs/grml-live.txt @@ -102,6 +102,16 @@ 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. + -d **DATE**:: + +Use specified date as build date information on the ISO instead of the default. +The default is the date when grml-live is being executed (retrieved via +executing 'date +%Y-%m-%d'). The information is stored inside the file +/GRML/grml-version on the ISO, /etc/grml_version in the squashfs file and in all +the bootsplash related files. This option is useful if you want to provide an +ISO with release information for a specific date but have to build it in +advance. Usage example: '-d 2009-10-30' + -F:: Force execution and do not prompt for acknowledgment of configuration. @@ -127,6 +137,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 @@ -344,8 +359,9 @@ commandline. Main configuration file for FAI which specifies where all the configuration files and scripts for FAI/grml-live can be found. By default it is set to -FAI_CONFIGDIR=/etc/grml/fai/config, a directory shipped by grml-live -out-of-the-box so you shouldn't have to configure anything in this file. +FAI_CONFIG_SRC=file:///etc/grml/fai/config being a directory shipped by +grml-live out-of-the-box so you shouldn't have to configure anything in this +file. /etc/grml/fai/make-fai-nfsroot.conf @@ -460,15 +476,106 @@ 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 7rd 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 by the Grml team. Different +kernel versions provide different squashfs file formats (version 3.x for kernel +versions until 2.6.28-grml[64], since kernel 2.6.31-grml[64] it's the 4.x +format). + +If you're wondering which package supports what, 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 4.0-2: ZLIB as default, LZMA support via -lzma option, +file format version 4 + +* squashfs-lzma-tools 3.3-1: LZMA as default, ZLIB support via -nolzma option, +file format version 3 + +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 as soon as it's available mainline. + +Using squashfs-lzma-tools 4.0-2 on the build system +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +squashfs-lzma-tools 4.0-2 is available via the grml repositories. It provides +the mksquashfs-lzma and unsquashfs-lzma binaries. The package does NOT conflict +with Debian's squashfs-tools package (you can install both of them at the same +time). + +The packages can be downloaded from +link:http://deb.grml.org/pool/main/s/squashfs-lzma-tools/[http://deb.grml.org/pool/main/s/squashfs-lzma-tools/] + +It provides support for the new squashfs file format version 4 and therefore +requires kernel versions newer than 2.6.28-grml[64]. It supports LZMA as well as +ZLIB compression. Just use the defaults for enabling LZMA or use grml-live's +'-z' option if you want to use ZLIB 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]: works + +[NOTE] + +Please use squashfs-lzma-tools >=4.0-2 from Grml if you want to remaster any +grml release being MORE RECENT than 2009.05. + +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. The package does NOT +conflict with the squashfs-lzma-tools 4.0-2 package (you can install both of +them at the same time). + +The packages can be downloaded from +link:ftp://ftp.de.debian.org/debian/pool/main/s/squashfs/[ftp://ftp.de.debian.org/debian/pool/main/s/squashfs/] + +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 +Grml's squashfs-lzma-tools (see section above) 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]: works + +[NOTE] +Please use squashfs-tools 1:4.0-1 only if you want to remaster grml releases +MORE RECENT than 2009.05 using the ZLIB 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 +587,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 +626,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 @@ -591,19 +693,20 @@ Instructions mkdir -p /etc/grml/fai/config/basefiles/ mv base.tgz /etc/grml/fai/config/basefiles/I386.tar.gz - # install relevant tools: + # install relevant tools + # please check out http://grml.org/grml-live/#current_state when encountering problems! apt-get -o APT::Install-Recommends=false install grml-live squashfs-lzma-tools # 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 +714,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 @@ -662,6 +765,43 @@ 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]. +[[lzma-vs-zlib]] +How much is the difference between LZMA and ZLIB compression? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ISO size (bs = blocksize): + +[width="45%",cols="3,^2,^2"] +|============================================================ +|ISO |LZMA (256kB bs) |ZLIB +|grml_sid |666M | 771M +|grml_squeeze |659M | 761M +|grml_lenny |624M | 723M +|grml64_sid |677M | 791M +|grml64_squeeze |671M | 785M +|grml64_lenny |639M | 745M +|grml-medium_sid |208M | 236M +|grml-medium_squeeze |206M | 234M +|grml-medium_lenny |193M | 220M +|grml64-medium_sid |213M | 245M +|grml64-medium_squeeze |213M | 244M +|grml64-medium_lenny |201M | 231M +|grml-small_sid |102M | 118M +|grml-small_squeeze |101M | 117M +|grml-small_lenny |97M | 112M +|grml64-small_sid |103M | 120M +|grml64-small_squeeze |103M | 120M +|grml64-small_lenny |99M | 116M +|============================================================ + +Build time of grml-medium's squashfs file (depends on your system, though just +to get the ratio between the different options): + +* 10 minutes and 4 seconds with LZMA default blocksize (128k) +* 7 minutes 27 seconds with LZMA and blocksize 256k +* 6 minutes and 8 seconds with LZMA blocksize 512k +* 1 minute and 40 seconds with ZLIB + [[install-local-files]] How to I install further files into the chroot/ISO? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -742,7 +882,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 +928,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 @@ -827,8 +967,7 @@ All downloaded files will be cached in /var/cache/approx now. I've a question which isn't answered by this document ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Don't hesitate to ask on IRC (channel #grml on irc.freenode.org) or just drop me -a mail: +Don't hesitate to contact the author: [[download]] Download / install grml-live as a Debian package