Please notice that you should have a fast network connection as all the Debian
packages will be downloaded and installed via network. If you want to use a
local mirror (strongly recommended if you plan to use grml-live more than once)
-checkout mkdebmirror (see /usr/share/doc/grml-live/examples/mkdebmirror),
-debmirror(1), reprepro(1) (see /usr/share/doc/grml-live/examples/reprepro/ for a
+checkout debmirror(1), reprepro(1) (see /usr/share/doc/grml-live/examples/reprepro/ for a
sample configuration), apt-cacher(1) and approx(8). To avoid downloading the
base system again and again check out <<create-a-base-tgz,the base tar.gz
feature>>.
Specify the CLASSES to be used for building the ISO via FAI. By default only
the classes GRMLBASE, GRML_FULL and I386/AMD64 (depending on system
-architecture) are assumed, resulting in a base system of about 350MB
-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_FULL you can also use
-GRML_SMALL and GRML_FULL.
+architecture) are assumed. 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_FULL you can also use e.g.
+GRML_SMALL.
[IMPORTANT]
All class names should be written in uppercase letters. Do not use a dash, use
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
+corresponding release names like "stretch"). 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.
Usage examples
--------------
-To get a Debian-stable and Grml-based Live-CD using /grml/grml-live
+To get a Debian-stable and Grml-based Live-CD using ./grml
as build and output directory just run:
# grml-live
* DEBORPHAN: get rid of all packages listed in output of deborphan
+* FILE_RC: instead of using systemd as init system use file-rc instead. file-rc
+was the init system used by Grml until and including stable release 2014.11,
+starting with beginning of 2016 Grml switched to systemd instead. If you want to
+build a live system in the old style using file-rc instead of systemd then enable
+this class. Please notice that support for file-rc is no longer being actively
+maintained (the Grml team happily accepts patches though) and file-rc (upstream
+wise) might disappear too.
+
* 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.
+use this class. Please be aware that using *just* the GRMLBASE class won't be
+enough, because the kernel packages (e.g. linux-image-i386-grml +
+linux-image-amd64-grml) are chosen in further GRML_* classes (to provide maximum
+flexibility with kernel selection). If you don't want to use the existing
+GRML_FULL or GRML_SMALL classes, define your own CLASS file choosing the kernel
+package you want to use (and don't forget to include your CLASS in the arguments
+of grml-live's -c... command line option).
* GRML_FULL: full featured Grml, also known as the "normal", full grml as
-introduced in December 2011 (~460MB ISO size).
+introduced in December 2011 (~600MB ISO size).
-* GRML_SMALL: minimum sized Grml version, known as grml-small (~230MB ISO
+* GRML_SMALL: minimum sized Grml version, known as grml-small (~300MB ISO
size).
* LATEX: LaTeX(-related) packages like auctex, texlive,...
grml-live on a plain Debian installation>> for details how to set up grml-live
on a plain, original Debian system.
-* enough free disk space; at least 800MB are required for a minimal grml-live
-run (\~400MB for the chroot [$CHROOT_OUTPUT], \~150MB for the build target
-[$BUILD_OUTPUT] and \~150MB for the resulting ISO [$ISO_OUTPUT] plus some
-temporary files), if you plan to use GRML_FULL you should have at least 4GB of
-total free disk space
+* enough free disk space; at least 1.5GB are required for a minimal grml-live
+run (\~850MB for the chroot [$CHROOT_OUTPUT], \~300MB for the build target
+[$BUILD_OUTPUT], \~30MB for the netboot files and \~300MB for the resulting ISO
+[$ISO_OUTPUT] plus some temporary files), if you plan to use GRML_FULL you
+should have at least 4GB of total free disk space
* fast network access for retrieving the Debian packages used for creating the
chroot (check out "local mirror" to workaround this problem as far as possible)
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 jessie (8.x).
+What we have: plain, original Debian stretch (9.x).
-What we want: build a Grml ISO based on Debian/jessie for the amd64 architecture
+What we want: build a Grml ISO based on Debian/stretch for the amd64 architecture
using grml-live.
Instructions
# SQUASHFS_BINARY='/usr/bin/mksquashfs'
## install local files into the chroot
# CHROOT_INSTALL="/etc/grml/fai/chroot_install"
- ## adjust if necessary (defaults to /grml/grml-live):
+ ## adjust if necessary (defaults to ./grml/):
## OUTPUT="/srv/grml-live"
- FAI_DEBOOTSTRAP="jessie http://ftp.debian.org/debian/"
+ FAI_DEBOOTSTRAP="stretch http://ftp.debian.org/debian/"
# ARCH="amd64"
CLASSES="GRMLBASE,GRML_FULL,AMD64"
EOF
[...]
APT_PROXY="http://localhost:3142/"
[...]
- FAI_DEBOOTSTRAP="jessie http://localhost:3142/ftp.debian.org/debian jessie main contrib non-free"
+ FAI_DEBOOTSTRAP="stretch http://localhost:3142/ftp.debian.org/debian stretch 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.
First of all create the chroot using debootstrap (requires root):
BASECHROOT='/tmp/basefile' # path where the chroot gets generated
- SUITE='jessie' # using the current stable release should always work
+ SUITE='stretch' # using the current stable release should always work
debootstrap --exclude=info,tasksel,tasksel-data "$SUITE" "$BASECHROOT" http://ftp.debian.org/debian
tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf "${SUITE}".tar.gz ./