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 "stretch"). Please be aware that recent Debian
+corresponding release names like "bookworm"). 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.
* 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.
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. Please be aware that using *just* the GRMLBASE class won't be
-enough, because the kernel packages (e.g. linux-image-*) 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).
+enough, because the kernel packages (e.g. linux-image-pass:[*]) are chosen in
+further GRML_pass:[*] 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 (~600MB ISO size).
+introduced in December 2011 (~750 ISO size).
-* GRML_SMALL: minimum sized Grml version, known as grml-small (~300MB ISO
+* GRML_SMALL: minimum sized Grml version, known as grml-small (~360MB ISO
size).
* LATEX: LaTeX(-related) packages like auctex, texlive,...
* XORG: providing important packages for use with a base grml-featured X.org
setup
+* ZFS: package selection to add support for OpenZFS/zfsonlinux
+
[[files]]
Files
-----
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 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
+* enough free disk space; at least ~2GB are required for a minimal grml-live
+run (\~1GB for the chroot [$CHROOT_OUTPUT], \~400MB for the build target
+[$BUILD_OUTPUT], \~35MB for the netboot files and \~350MB 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)
+* your output directory should not be mounted with any of the "nodev", "noexec"
+or "nosuid" mount options. (/tmp typically is at least "nodev" and "nosuid" on
+most systems.)
+
For further information see next section.
[[X8]]
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 stretch (9.x).
+What we have: plain, original Debian bookworm (v12).
-What we want: build a Grml ISO based on Debian/stretch for the amd64 architecture
+What we want: build a Grml ISO based on Debian/bookworm for the amd64 architecture
using grml-live.
Instructions
# CHROOT_INSTALL="/etc/grml/fai/chroot_install"
## adjust if necessary (defaults to ./grml/):
## OUTPUT="/srv/grml-live"
- FAI_DEBOOTSTRAP="stretch http://ftp.debian.org/debian/"
+ FAI_DEBOOTSTRAP="bookworm http://deb.debian.org/debian/"
# ARCH="amd64"
CLASSES="GRMLBASE,GRML_FULL,AMD64"
EOF
grml-live you can get commercial support via
link:http://grml-solutions.com/[Grml Solutions].
+Note that FAI doesn't abort immediately on errors that will ultimately cause
+the build to fail. Be sure to look through the logs and find the actual error;
+look for lines that start with "E: " or contain "FAILED" or "exit code 1".
+Some messages that may look like errors are actually benign; e.g.
+"/tmp/grml64/grml_chroot/var/lib/dpkg is not a mounted ramdisk" is not an error.
+
[[install-local-files]]
How do I install further files into the chroot/ISO?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[...]
APT_PROXY="http://localhost:3142/"
[...]
- FAI_DEBOOTSTRAP="stretch http://localhost:3142/ftp.debian.org/debian stretch main contrib non-free"
+ FAI_DEBOOTSTRAP="bookworm http://localhost:3142/ftp.debian.org/debian bookworm 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.
How do I revert the manifold feature from an ISO?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The so called manifold feature Grml ISOs use by default allows one to use the same
-ISO for CD boot and USB boot. If you notice any problems when booting just
-revert the manifold feature running:
+By default, Grml ISOs use isohybrid to allow them to be booted from CDs as
+well as USB sticks. Manifold is an alternative to isohybrid.
+
+If you notice any problems
+when booting manifold-crafted media, just revert the manifold feature running:
% dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc
To switch from manifold to isohybrid mode (an alternative approach provided by
-syslinux) then just execute:
+syslinux, used by default for official Grml images) then just execute:
% isohybrid grml.iso
First of all create the chroot using debootstrap (requires root):
BASECHROOT='/tmp/basefile' # path where the chroot gets generated
- SUITE='stretch' # using the current stable release should always work
+ SUITE='bookworm' # 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 ./