grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [-g
<grml_name>] [-i <iso_name> ] [-o <output_directory>] [-r <release_name>] [-s
-<suite>] [-t <template_directory>] [-v <version_number>] [-bFhuVz]
+<suite>] [-t <template_directory>] [-v <version_number>] [-bBFhquVz]
CAUTION: Please check out <<current_state,the 'Current state of grml-live with
squashfs-tools and kernel' section>> for details about current state of involved
system/chroot and do not want to execute any further updates (via "-u" option)
but intend to only build the ISO.
+ -B::
+
+Build the ISO without touching the chroot at all. This option is useful if
+you modified anything that FAI or grml-live might adjust via grml's FAI
+scripts. It's like the '-b' option but even more advanced. Use only if you
+really know that you do not want to update the chroot.
+
-c **CLASSES**::
Specify the CLASSES to be used for building the ISO via FAI. By default only
-the classes GRMLBASE, GRML_SMALL and I386 are assumed, resulting in a small base
-system (being about ~150MB total ISO size). If using a non-I386 system (like
+the classes GRMLBASE, GRML_MEDIUM and I386 are assumed, resulting in a small base
+system (being about ~180MB total ISO size). If using a non-I386 system (like
amd64) you should specify the appropriate architecture as well. Additionally you
can specify a class providing a grml-kernel (see
<<classes,the 'CLASSES' section in this document>> for details about available classes).
-So instead of GRML_SMALL you can also use GRML_MEDIUM and GRML_FULL.
+So instead of GRML_MEDIUM you can also use GRML_SMALL and GRML_FULL.
-C **CONFIGURATION_FILE**::
ISO are located, including the compressed squashfs file), grml_chroot (the
chroot system) and grml_isos (where the resulting ISO is stored).
+ -q::
+
+Build the ISO without (re-)creating the squashfs compressed file using mksquashfs.
+This option is useful if you just want to update parts outside the chroot in the ISO.
+Consider combining this option with the build-only option '-b'.
+
-r **RELEASENAME**::
Specify name of the release.
-s **SUITE**::
Specify the Debian suite you want to use for your live-system. Defaults to
-"etch" (being current Debian/stable). Supported values are: etch, lenny, sid.
+"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.
-t **TEMPLATE_DIRECTORY**::
* GRML_SMALL: minimum sized grml version, known as grml-small
+* LATEX: LaTeX(-related) packages like auctex, texlive,...
+(which used to be shipped by grml before the LaTeX removal)
+
* LATEX_CLEANUP: get rid of several very large LaTeX directories
(like some /usr/share/doc/texlive-*, /usr/share/doc/texmf,...)
-* LOCALES: use full featured locales setup (see /etc/locale.gen.grml)
+* LOCALES: use full featured locales setup (see /etc/locale.gen.grml). This
+avoids to get rid of /usr/share/locale - which happens by default otherwise - as
+well.
* NO_ONLINE: do not run scripts during the chroot build process which require a
network connection
/etc/grml/fai/apt/sources.list
-This file specifies which mirrors should be used for retreiving the Debian
-packages used for creating the main chroot (including all the software you would
-like to see included). If you want to use a local mirror you either have to
-adjust this file or use the GRML_LIVE_SOURCES variable inside
-/etc/grml/grml-live.conf which modifies /etc/grml/fai/apt/sources.list
-on-the-fly then.
+This file specifies which mirrors should be considered for retrieving the Debian
+packages when creating the main chroot (including all the software you would
+like to see included). Important: this file should *not* be adjusted manually!
+Instead use the GRML_LIVE_SOURCES variable inside /etc/grml/grml-live.conf or
+/etc/grml/grml-live.local which modifies /etc/grml/fai/apt/sources.list
+on-the-fly via grml-live then. If you want to generally adjust apt configuration
+check out /etc/grml/fai/files/etc/apt instead.
/etc/grml/fai/config/
temporary files), if you plan to use GRML_FULL you should have at least 4GB of
total free disk space
-* fast network access for retreiving the Debian packages used for creating the
+* fast network access for retrieving the Debian packages used for creating the
chroot (check out "local mirror" and "NFSROOT" to workaround this problem as far
-as possiblbe)
+as possible)
For further information see next section.
---------------------------------------------------------
To make it easier to track problems this section documents current state of
-grml-live playing together with squashfs-tools (for building the compressed
-file) and the kernel version. Documentation of this section is up2date by 18th
-august 2008.
+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 02nd of december 2008, please report any bugs you
+encounter.
System
~~~~~~
-* grml-live 0.9
+* grml-live, version 0.9.6
* building grml-medium (Debian/unstable)
* software versions used in the ISO (being installed automatically, recorded
just as a reference):
- ii busybox 1:1.10.2-1 Tiny utilities for small and embedded systems
- ii initramfs-tools 0.92f tools for generating an initramfs
- ii klibc-utils 1.5.12-2 small utilities built with klibc for early boot
- ii live-initramfs 1.136.3-2~grml.04 Debian Live initramfs hook
- ii lvm2 2.02.39-2 The Linux Logical Volume Manager
- ii mdadm 2.6.7-3 tool to administer Linux MD arrays (software RAID)
- ii udev 0.124-0grml3 /dev/ and hotplug management daemon
+ ii busybox 1:1.10.2-2 Tiny utilities for small and embedded systems
+ ii initramfs-tools 0.92f.grml01 tools for generating an initramfs
+ ii klibc-utils 1.5.12-2 small utilities built with klibc for early boot
+ ii live-initramfs 1.139.1-4grml.03 Debian Live initramfs hook
+ ii lvm2 2.02.39-2 The Linux Logical Volume Manager
+ ii mdadm 2.6.7.1-1 tool to administer Linux MD arrays (software RAID)
+ ii udev 0.125-6grml0 /dev/ and hotplug management daemon
+
+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]
+(version >=grml.05) 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/].
+
+[NOTE]
+Please use squashfs-lzma-tools 3.3-1 if you want to remaster release 2008.11 of grml.
Using squashfs-tools 1:3.3-7 on the build system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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].
-Please notice that squashfs-tools 1:3.3-7 does NOT support LZMA compression at
-all (yet). The -nolzma option of mksquashfs is not available therefore (even
-though grml-live will deactivate it for you automatically anyway).
+Please notice that squashfs-tools 1:3.3-7 does NOT support LZMA compression
+at all (so you won't be able to remaster release 2008.11 for example). The
+-nolzma option of mksquashfs is not available therefore (even though
+grml-live will deactivate it for you automatically anyway). Please use
+squashfs-lzma-tools instead.
* Kernel 2.6.23-grml: does NOT work, please use squashfs-tools 1:3.2r2-9exp1
- instead if you still want to use kernel 2.6.23
-* Kernel 2.6.26-grml: works
+ instead if you still want to use kernel 2.6.23
+* Kernel 2.6.26-grml: works (without LZMA compression of course!)
Using squashfs-tools 1:3.2r2-9exp1 on the build system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Versions with LZMA compression:
* Kernel 2.6.23-grml: works
-* Kernel 2.6.26-grml: does NOT work, please use zlib mode instead
+* Kernel 2.6.26-grml: does NOT work, please use zlib mode instead or switch
+ to Debian package squashfs-lzma-tools (see section above).
FAQ
---
First of all build the chroot system:
mkdir /tmp/nfsroot && cd /tmp/nfsroot
- debootstrap etch /tmp/nfsroot/ http://ftp.de.debian.org/debian
+ debootstrap lenny /tmp/nfsroot/ http://ftp.de.debian.org/debian
tar zcf base.tgz ./
Then check out where your NFSROOT is located:
/grml-live/grml-live_20071029.22138/grml_chroot//
[...]
-Set up apt-cacher for use with grml-live
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Set up apt-cacher / apt-cacher-ng for use with grml-live
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make sure /etc/grml/grml-live.conf provides according GRML_LIVE_SOURCES and
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 etch main contrib non-free
+ deb http://localhost:3142/ftp.de.debian.org/debian lenny main contrib non-free
"
[...]
- FAI_DEBOOTSTRAP="etch http://localhost:3142/ftp.de.debian.org/debian etch main contrib non-free"
+ FAI_DEBOOTSTRAP="lenny http://localhost:3142/ftp.de.debian.org/debian lenny main contrib non-free"
-Make sure apt-cacher is running (/etc/init.d/apt-cacher restart). That's it.
-All downloaded files will be cached in /var/cache/apt-cacher/ now.
+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
+files will be cached in /var/cache/apt-cacher/ or /var/cache/apt-cacher-ng then.
Set up approx for use with grml-live
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GRML_LIVE_SOURCES="
deb http://localhost:9999/grml grml-stable main
deb http://localhost:9999/grml grml-testing main
- deb http://localhost:9999/debian etch main contrib non-free
+ deb http://localhost:9999/debian lenny main contrib non-free
"
- FAI_DEBOOTSTRAP="etch http://localhost:9999/debian"
+ FAI_DEBOOTSTRAP="lenny http://localhost:9999/debian"
Configure approx:
build a Debian package on your own (using for example a specific version or the
current development tree), just execute:
- hg clone http://hg.grml.org/grml-live
+ git clone git://git.grml.org/grml-live
cd grml-live
debuild -us -uc
------
The source of grml-live is available at
-link:http://hg.grml.org/grml-live/[http://hg.grml.org/grml-live/]
+link:http://git.grml.org/?p=grml-live.git[http://git.grml.org/?p=grml-live.git]
TODO list
---------
-Check out link:http://wiki.grml.org/doku.php?id=grml-live[grml-live@grml-wiki]
+Check out link:http://wiki.grml.org/doku.php?id=grml-live[grml-live in the grml-wiki]
for details.
Bugs