4 years agotemplates/EFI: use files from Ubuntu 18.04
Paul Menzel [Wed, 23 May 2018 13:05:26 +0000 (15:05 +0200)]
templates/EFI: use files from Ubuntu 18.04

Currently, the shim cannot be loaded with TianoCore (using
/usr/share/edk2.git/ovmf-x64/OVMF-pure-efi.fd from
and also fails on several systems like on the Dell XPS 13 9360 and 9370,
Dell r640 (see
and HP EliteBook 820 G3.

Error message during boot:

| Reloc 0 block size 2756420659 is invalid
| Relocation failed: Unsupported

4 years agoRelease new version 0.31.3 v0.31.3
Michael Prokop [Fri, 25 May 2018 11:59:16 +0000 (13:59 +0200)]
Release new version 0.31.3

4 years agoBump Standards-Version to 4.1.4
Michael Prokop [Fri, 25 May 2018 11:58:50 +0000 (13:58 +0200)]
Bump Standards-Version to 4.1.4

4 years agoadd placeholder and explanation inviting local patches to isolinux.cfg
Marc Haber [Mon, 19 Mar 2018 16:03:52 +0000 (17:03 +0100)]
add placeholder and explanation inviting local patches to isolinux.cfg

this closes grml/grml-live #45

This is unfortunately completely untested, since to multiple issues, one
of them being grml/grml-live #44 and grml/grml-live #46 are still
unaddressed, I cannot currently reliably build grml images. As it is a
comment-only patch, this can be safely applied and I'll happily test a
daily image afterwards.

4 years agoMerge remote-tracking branch 'remotes/origin/github/pr/52'
Michael Prokop [Fri, 25 May 2018 10:52:07 +0000 (12:52 +0200)]
Merge remote-tracking branch 'remotes/origin/github/pr/52'

4 years agoMerge remote-tracking branch 'origin/github/pr/49'
Michael Prokop [Fri, 25 May 2018 08:50:49 +0000 (10:50 +0200)]
Merge remote-tracking branch 'origin/github/pr/49'

4 years agoSW: add restic
Michael Prokop [Sun, 13 May 2018 07:39:35 +0000 (09:39 +0200)]
SW: add restic

As suggested by Frank Terbeck <>

4 years agoRelease new version 0.31.2 v0.31.2
Michael Prokop [Fri, 27 Apr 2018 09:54:02 +0000 (11:54 +0200)]
Release new version 0.31.2

4 years agoupdatebase.GRMLBASE: no longer install aptitude
Michael Prokop [Fri, 27 Apr 2018 09:28:24 +0000 (11:28 +0200)]
updatebase.GRMLBASE: no longer install aptitude

We sitched from aptitude to apt-get as package manager in FAI's
package list back in commit 121b3484e, so we shouldn't strictly
need aptitude any longer. The ongoing ncurses transition is
failing our builds currently, so that's a good chance to make
this change.

4 years agoReplace /etc/apt/grml.key with /etc/apt/trusted.gpg.d/grml-archive-keyring.gpg
Michael Prokop [Fri, 27 Apr 2018 09:23:10 +0000 (11:23 +0200)]
Replace /etc/apt/grml.key with /etc/apt/trusted.gpg.d/grml-archive-keyring.gpg

/etc/apt/grml.key was a PGP public key block Public-Key (old) and
required installation via apt-key.

By instead placing a `GPG key public ring` into
/etc/apt/trusted.gpg.d/grml-archive-keyring.gpg we don't need
this extra apt-key invocation any longer, which might actually
fail with:

| E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation

Installation of gnupg isn't enough though, since then we run

| 10:45:56 Warning: apt-key output should not be parsed (stdout is not a terminal)
| 10:45:58 gpg: can't connect to the agent: IPC connect call failed

Drop old /etc/grml/fai/config/files/etc/apt/grml.key/GRMLBASE via maintscript

Thanks: Antoine Beaupré <> for a related PR

4 years agoSW: replace iproute with iproute2
Michael Prokop [Fri, 27 Apr 2018 09:17:20 +0000 (11:17 +0200)]
SW: replace iproute with iproute2

iproute is a transitional package for iproute2 since Debian/jessie
and no longer exists starting with Debian/buster.

4 years agoSW: drop apt-transport-https from GRMLBASE
Michael Prokop [Fri, 27 Apr 2018 07:33:07 +0000 (09:33 +0200)]
SW: drop apt-transport-https from GRMLBASE

apt-transport-https is a transitional package starting with
Debian/buster, so the package is no longer relevant for builds
against Debian/testing + sid/unstable nowadays.

If someone needs this package in grml-live builds using
Debian/stretch or older Debian releases then the package should
be included in local configurations.

4 years agoUse stretch-backports instead of jessie-backports for stable
Markus Lindberg [Wed, 28 Mar 2018 13:53:05 +0000 (15:53 +0200)]
Use stretch-backports instead of jessie-backports for stable

5 years agoGRMLBASE/98-clean-chroot: execute resolvconf workarounds also for systemd
Michael Prokop [Wed, 14 Mar 2018 12:29:37 +0000 (13:29 +0100)]
GRMLBASE/98-clean-chroot: execute resolvconf workarounds also for systemd

/etc/resolvconf/resolv.conf.d/original leaks data from the environment
the ISO was built in, and /etc/resolv.conf should be empty and be filled
with data from DHCP.

Thanks: András Korn

5 years agoRelease new version 0.31.1 v0.31.1
Michael Prokop [Tue, 20 Feb 2018 16:58:12 +0000 (17:58 +0100)]
Release new version 0.31.1

5 years agoDo not handle lid switch
Marcos Mello [Thu, 15 Feb 2018 16:12:31 +0000 (14:12 -0200)]
Do not handle lid switch

Fixes grml/grml#75.

5 years agossh service: set RuntimeDirectory=sshd to work with recent openssh versions
Michael Prokop [Fri, 1 Dec 2017 09:51:47 +0000 (10:51 +0100)]
ssh service: set RuntimeDirectory=sshd to work with recent openssh versions

We need to set RuntimeDirectory=sshd, otherwise /run/sshd doesn't
exist and service startup fails with:

| grml sshd[1845]: Missing privilege separation directory: /run/sshd

While at it sync our ssh service file with Debian's openssh
package 1:7.6p1-2 and drop the unused ssh-bootoption.service
file (we currently start ssh service via grml-autoconfig).

Also see

Closes grml/grml#80

Thanks: sl0n for bugreport
Thanks: Darshaka Pathirana <> for feedback

5 years agoGRMLBASE/93-update-usbids: test for new update-usbids location in /usr/sbin
Michael Prokop [Wed, 22 Nov 2017 13:12:06 +0000 (14:12 +0100)]
GRMLBASE/93-update-usbids: test for new update-usbids location in /usr/sbin

"Recent" versions of usbutils ship the update-usbids
binary in /usr/sbin and no longer in /usr/bin.

5 years agoGRMLBASE/91-update-pciids: test for new update-pciids location in /usr/sbin
Michael Prokop [Wed, 22 Nov 2017 13:09:28 +0000 (14:09 +0100)]
GRMLBASE/91-update-pciids: test for new update-pciids location in /usr/sbin

Since pciutils v1:3.2.0-1 the update-pciids binary lives in
/usr/sbin and no longer in /usr/bin.

5 years agoGRMLBASE/52-mdadm: fix path for 64-md-raid-assembly.rules
Michael Prokop [Thu, 16 Nov 2017 14:11:13 +0000 (15:11 +0100)]
GRMLBASE/52-mdadm: fix path for 64-md-raid-assembly.rules

This should be /lib/udev/rules.d/64-md-raid-assembly.rules
and not /usr/lib/udev/rules.d/64-md-raid-assembly.rules

While at it use the same approach as for GRMLBASE/50-lvm
in the previous commit, by creating an empty file
instead of just removing it.

5 years agoGenerate empty /lib/udev/rules.d/69-lvm-metad.rules instead of removing the file
Michael Prokop [Thu, 16 Nov 2017 12:49:43 +0000 (13:49 +0100)]
Generate empty /lib/udev/rules.d/69-lvm-metad.rules instead of removing the file

Since lvm2 2.02.176-4 initramfs generation fails if
neither /etc/udev/rules.d/69-lvm-metad.rules nor
/lib/udev/rules.d/69-lvm-metad.rules exists.
So instead of removing the file just create an empty one.


5 years agoSW: add ldnsutils to GRML_SMALL
Michael Prokop [Fri, 6 Oct 2017 12:05:50 +0000 (14:05 +0200)]
SW: add ldnsutils to GRML_SMALL

dig would be nice to have, though pulls in ~41MB of disk space.
drill from ldnsutils is a nice alternative.

See grml/grml/#56

5 years agoSW: add x11vnc to GRML_FULL to properly support vnc boot option
Michael Prokop [Fri, 6 Oct 2017 10:24:09 +0000 (12:24 +0200)]
SW: add x11vnc to GRML_FULL to properly support vnc boot option

Closes grml/grml#62

Thanks: luke2261git for the bugreport

5 years agoFix a bunch of typos
Michael Prokop [Sat, 23 Sep 2017 11:55:04 +0000 (13:55 +0200)]
Fix a bunch of typos

s/and and/and/
s/to to/to/

5 years agoRelease new version 0.31.0 v0.31.0
Michael Prokop [Thu, 7 Sep 2017 07:35:47 +0000 (09:35 +0200)]
Release new version 0.31.0

5 years agoscripts/ use net.ifnames=0 as default boot option
Michael Prokop [Thu, 7 Sep 2017 07:22:25 +0000 (09:22 +0200)]
scripts/ use net.ifnames=0 as default boot option

Otherwise we end up with arbitrary network device names which
aren't properly supported (yet).

See grml/grml#65

5 years agoSecure Boot GRUB template: be more dynamic + don't overwrite with empty variable
Michael Prokop [Wed, 6 Sep 2017 07:20:08 +0000 (09:20 +0200)]
Secure Boot GRUB template: be more dynamic + don't overwrite with empty variable

By searching for grmlenv.cfg we can make it more dynamic
instead of having to hardcode (hd0) which might be wrong
in the grml2usb situation.

There's also no need to set root/prefix multiple times, especially
since we depend on 'root=(hd0)' for the default ISO boot anyway.

Don't overwrite prefix if the grml_orig_prefix variable is empty.

Secure Boot enabled ISOs generated with grml-live >=0.31.0 are supported
with grml2usb >=0.16.0.

5 years agoSW: add btrfs-progs to GRML_SMALL
Michael Prokop [Fri, 1 Sep 2017 14:38:33 +0000 (16:38 +0200)]
SW: add btrfs-progs to GRML_SMALL

Closes grml/grml#69

5 years agoSecure Boot support
Michael Prokop [Thu, 31 Aug 2017 00:54:32 +0000 (02:54 +0200)]
Secure Boot support

Thanks to the way the signed GRUB by Ubuntu works we seem to be
able to keep our common EFI GRUB configs working next to the new
Secure Boot related EFI GRUB configs. If Secure Boot is enabled
we get the same look and feel like with common EFI boot, though
with a Secure Boot specific boot menu (since e.g. the linux16
command isn't available under Secure Boot). If EFI is running
with Secure Boot *disabled* it continues to look like it used to
do so far. If this is working out as planned there's no visible
change from a user point of view on systems with Secure Boot

With this change we also get rid of some magic with grml-live
relying on behavior of
/etc/grml/fai/config/scripts/GRMLBASE/45-grub-images, including
moving files around.

We also no longer skip the boot stage during rebuilds. This has
been a source of frustration and annoying debugging sessions when
files inside grml_cd/boot/ didn't receive changes during rebuilds
and the user in front of the system is ignoring the according
"skip" notice or forgot to remove grml_cd/boot.

While at it rewrite debian/copyright in

Thanks: Michael Schierl <> for help regarding the Secure Boot setup

5 years agoSW: add whois to GRML_SMALL
Michael Prokop [Wed, 30 Aug 2017 12:23:55 +0000 (14:23 +0200)]
SW: add whois to GRML_SMALL

It adds only 346kb of additional disk space.

Debian's mkpasswd is part of the whois package.
It's the mkpassword that can generate salted hashes suitable for /etc/shadow.

Thanks: Marc Haber for the suggestion
Closes grml/grml#66

5 years agoUse stretch instead of jessie for current defaults in docs + grml-live config file
Michael Prokop [Wed, 30 Aug 2017 12:02:47 +0000 (14:02 +0200)]
Use stretch instead of jessie for current defaults in docs + grml-live config file

5 years agoAdd support for Debian buster (AKA Debian v10 and current Detian testing)
Michael Prokop [Wed, 30 Aug 2017 12:02:09 +0000 (14:02 +0200)]
Add support for Debian buster (AKA Debian v10 and current Detian testing)

5 years agoDrop support for Debian wheezy
Michael Prokop [Wed, 30 Aug 2017 11:48:57 +0000 (13:48 +0200)]
Drop support for Debian wheezy

It's oldoldstable nowadays and we no longer use it anywhere,
so let's drop related zsh completion and config files.

5 years agoProvide jessie support for systemd + recent kernel packages
Michael Prokop [Wed, 30 Aug 2017 11:46:26 +0000 (13:46 +0200)]
Provide jessie support for systemd + recent kernel packages

To be able to use systemd-container we need the systemd
version from jessie-backports.

We also need recent versions of linux-base, firmware-misc-nonfree,
firmware-linux-nonfree + firmware-linux from jessie-backports
for the related kernel packages.

5 years agoProvide workaround for systemd's systemctl failures on jessie
Michael Prokop [Wed, 30 Aug 2017 11:45:35 +0000 (13:45 +0200)]
Provide workaround for systemd's systemctl failures on jessie

For unknown reasons `systemctl preset-all` and
`systemctl set-default` return with exit code 1
even though it seems to be working fine.

5 years agoSW: add ndisc6 + rdnssd to GRML_SMALL and GRML_FULL
Michael Prokop [Wed, 30 Aug 2017 08:32:49 +0000 (10:32 +0200)]
SW: add ndisc6 + rdnssd to GRML_SMALL and GRML_FULL

It adds only 381kB of additional disk space.

Quoting from the feature request:

| rdnssd is a tool that will listen to DNS server being offered in
| an IPv6 router anouncement and configure the local system to use
| the DNS servers included in there. The daemon just needs to be
| installed and enabled. Without this, an IPv6 only grml system
| will be with network, but without DNS.
| While we're at it, IPv6 is much more easily debugged if ndisc6, a
| user space tool to send out IPv6 router solicitations and to
| display the contents of router advertisements received, is
| included.

Thanks: Marc Haber for the suggestion
Closes grml/grml#67

5 years agoSW: add fsarchiver to GRML_SMALL
Michael Prokop [Wed, 30 Aug 2017 08:30:14 +0000 (10:30 +0200)]
SW: add fsarchiver to GRML_SMALL

It adds only 443kB of additional disk space.

Thanks: Marcos Mello for the suggestion
Closes grml/grml#69

5 years agoNo longer ship mkdebmirror example script
Michael Prokop [Thu, 24 Aug 2017 22:06:35 +0000 (00:06 +0200)]
No longer ship mkdebmirror example script

License and current state (is it working at all) are unclear.

5 years agoRelease new version 0.30.1 v0.30.1
Michael Prokop [Thu, 17 Aug 2017 13:08:44 +0000 (15:08 +0200)]
Release new version 0.30.1

5 years agoBump Standards-Version to 4.0.1
Michael Prokop [Thu, 17 Aug 2017 13:08:17 +0000 (15:08 +0200)]
Bump Standards-Version to 4.0.1

5 years agoSW: add stressant package to GRML_FULL
Antoine Beaupré [Sun, 19 Mar 2017 19:08:48 +0000 (15:08 -0400)]
SW: add stressant package to GRML_FULL

to quote from the control file:

> Stressant is a simple stress testing and burn-in tool
> It is designed to run on new machines to make sure they will work
> reliably by testing various parts of the system (CPU, RAM, disk,
> network) by putting them under heavy load and try to detect failures.
> As much as possible, stressant tries to reuse existing tools to
> perform the various tasks and aims to be run automatically.

it has just entered Debian sid and will pull at least 3 new
dependencies in (python-humanize, python-colorlog and stress-ng)

adding this is essential for the Stressant project to continue
collaborating with Grml.

5 years agoRelease new version 0.30.0 v0.30.0
Michael Prokop [Fri, 9 Jun 2017 20:52:56 +0000 (22:52 +0200)]
Release new version 0.30.0

5 years agoSW: add ed to GRML_FULL since it's also shipped on GRML_SMALL
Michael Prokop [Fri, 9 Jun 2017 20:45:21 +0000 (22:45 +0200)]
SW: add ed to GRML_FULL since it's also shipped on GRML_SMALL

Thanks: Darshaka Pathirana <>
for bringing this up in

5 years agoSW: drop tcpd from GRML_SMALL, not shipped on GRML_FULL
Michael Prokop [Fri, 9 Jun 2017 20:43:53 +0000 (22:43 +0200)]
SW: drop tcpd from GRML_SMALL, not shipped on GRML_FULL

Thanks: Darshaka Pathirana <>
for bringing this up in

5 years agoSW: no longer ship grml2hd* packages via GRMLBASE
Michael Prokop [Fri, 9 Jun 2017 20:34:23 +0000 (22:34 +0200)]
SW: no longer ship grml2hd* packages via GRMLBASE

Usage of grml2hd is unrecommended and we don't test nor
support it anymore, so there's no reason why it should
be shipped.

5 years agoSW: drop packages from GRML_FULL that are already part of GRMLBASE
Michael Prokop [Fri, 9 Jun 2017 20:32:29 +0000 (22:32 +0200)]
SW: drop packages from GRML_FULL that are already part of GRMLBASE

The following packages are part of GRMLBASE already and
shouldn't be listed in GRML_FULL therefore:

* dbus
* dmidecode
* grml-debootstrap
* grml-etc-core
* hdparm
* lvm2
* mdadm
* strace

Thanks to Darshaka Pathirana for triggering this via

5 years agoSW: add lm-sensors to GRML_FULL
Michael Prokop [Fri, 9 Jun 2017 20:23:33 +0000 (22:23 +0200)]
SW: add lm-sensors to GRML_FULL

Thanks: Grégoire Sutre for suggestion
Closes grml/grml#48

5 years agoSupport EFI on 32-bit systems, increase EFI image size + switch from isohybrid to...
Michael Prokop [Wed, 7 Jun 2017 21:25:34 +0000 (23:25 +0200)]
Support EFI on 32-bit systems, increase EFI image size + switch from isohybrid to xorriso/isohybrid combination

EFI on 32-bit systems is a requested feature for Grml-Forensic,
since cheap tablets and notebooks (e.g. Intel Atom-based tablets)
are out there with only 32-bit EFI support (and UEFI only, so no
legacy BIOS support), quoting clairelyclaire from

| As of now, Ubuntu and other major Linux distributions do not
| support the use of a 32-bit EFI bootloader on UEFI machines. This
| has become extremely problematic due to the popularity of Intel
| Atom-based tablets and compact laptops. Atom-based devices are
| generally limited in storage space (32GB or 64GB eMMC is common),
| and as a result these devices almost universally ship with
| Windows 8.1 32-bit installed (winsxs consumes a significant
| amount of storage space in order to support 32-bit binaries in a
| 64-bit environment). By design, UEFI must use the same
| architecture used by the bootloader.
| While most modern computers indeed use a 64-bit UEFI
| implementation due to the fact that new computers generally ship
| with a 64-bit operating system (be it OS X or Windows 8.1),
| Atom-based devices do *not* use a 64-bit operating system or UEFI
| implementation. This is by design.
| Intel released a new Atom iteration (Bay Trail) in late 2013 and
| has indicated that they will continue to develop and release Atom
| CPUs due to consumer market demand. At the time of this filing
| there are a number of Atom-based tablets and compact
| laptops/netbooks being actively sold and marketed by major OEMs
| including Dell, HP, ASUS, and Acer. None of these devices have
| 64-bit UEFI firmware. It is also important to note that these
| Atom CPUs are 64-bit, but explicitly require a 32-bit UEFI
| bootloader.
| The current Linux kernel in Ubuntu 14.04 does support booting the
| 64-bit signed kernel from a 32-bit Grub EFI bootloader. I can
| confirm this on at least two 32-bit UEFI devices, the ASUS
| Transformer T100TA and the Acer Aspire Switch 10.

Increase EFI image size (previously automatically
calculated on-demand, resulting in ~285KB) to 4MB,
giving us more flexibility with what we're installing
into the image (esp. useful with usage on USB drives).

The isohybrid binary doesn't support 32-bit FI systems
and fails hard when using `--uefi` on a 32-bit ISO.
But xorriso with appropriate options for EFI usage
(see $EFI_ARGS) and /usr/lib/ISOLINUX/isohdpfx.bin
from the isolinux package seems to provide everything
we need.

Useful resources for further information:

For testing the resulting 32-bit ISO with EFI the
OVMF.fd file from available from works via e.g.:

| qemu-system-i386 -m 1024 -bios ./OVMF.fd -cdrom grml.iso

5 years agotemplates: fix isolinux boot option label for grub
Darshaka Pathirana [Fri, 2 Jun 2017 17:29:52 +0000 (19:29 +0200)]
templates: fix isolinux boot option label for grub

A long time ago (rev# 7d0f02a63) grub2 was introduced and the boot option
label grub was changed to grub1 (aside with grub2). Later grub1 support
was removed (rev# bfbf9fb3). So it makes sense to change the grub2 label
to grub as we do not have anything else anymore.

5 years agoUpdate cheatcodes documentation to clarify isolinux vs GRUB situation
Darshaka Pathirana [Wed, 31 May 2017 15:30:01 +0000 (17:30 +0200)]
Update cheatcodes documentation to clarify isolinux vs GRUB situation

The listed boot options / cheatcodes only work with the isolinux bootprompt.
Updated the documentation to make that clear.

Relates to grml/grml#9

5 years agotemplates: remove bootoption nostats
Darshaka Pathirana [Wed, 31 May 2017 14:20:24 +0000 (16:20 +0200)]
templates: remove bootoption nostats

The stats feature was removed, therefore we also do not need the nostats
option anymore.

The stats feature was removed in grml-autconfig-commit# 7138a24fb

Relates to grml/grml#9

5 years agoUpdate comment regarding checksum generation
Michael Prokop [Wed, 7 Jun 2017 21:25:09 +0000 (23:25 +0200)]
Update comment regarding checksum generation

It's no longer just md5sum + sha1sum

5 years agoRelease new version 0.29.7 v0.29.7
Michael Prokop [Mon, 29 May 2017 17:27:16 +0000 (19:27 +0200)]
Release new version 0.29.7

5 years agoGet rid of /etc/network/if-up.d/aoe-discover
Michael Prokop [Mon, 29 May 2017 17:21:43 +0000 (19:21 +0200)]
Get rid of /etc/network/if-up.d/aoe-discover

Closes grml/grml#47

5 years agoRelease new version 0.29.6 v0.29.6
Michael Prokop [Fri, 26 May 2017 21:38:39 +0000 (23:38 +0200)]
Release new version 0.29.6

5 years agoDelete /usr/lib/udev/rules.d/64-md-raid-assembly.rules to avoid automatic mdadm scanning
Michael Prokop [Fri, 26 May 2017 21:20:44 +0000 (23:20 +0200)]
Delete /usr/lib/udev/rules.d/64-md-raid-assembly.rules to avoid automatic mdadm scanning

We don't want to automatically enable any present mdadm devices.
The safest way is to just remove
/usr/lib/udev/rules.d/64-md-raid-assembly.rules, since it doesn't
seem to provide a stable and long-term working way how to adjust
its behavior.

Closes grml/grml#45

5 years agoRelease new version 0.29.5 v0.29.5
Michael Prokop [Wed, 24 May 2017 12:34:12 +0000 (14:34 +0200)]
Release new version 0.29.5

5 years agoSwitch from grml-runtty to agetty also on tty11 + tty12
Michael Prokop [Wed, 24 May 2017 12:30:40 +0000 (14:30 +0200)]
Switch from grml-runtty to agetty also on tty11 + tty12

Closes grml/grml#14 now that grml-runtty is only used with non-systemd systems

5 years agoRun zsh when starting screen
Darshaka Pathirana [Sun, 21 May 2017 17:56:58 +0000 (19:56 +0200)]
Run zsh when starting screen

When starting GNU/screen via systemd the SHELL varible is empty whereas
SHELL=/bin/zsh when starting screen via grml-runtty.

If we can assume that zsh is installed on Grml then this solution is ok.
If not, we should address that in the run-screen script with something like:

  [ -x /bin/zsh ] && SHELL=/bin/zsh

  # now run screen with config

    if [ `id -u` = 0 ] ; then
      exec screen -U -c /etc/grml/screenrc -s $SHELL

(partly) fixes grml/grml#14

5 years agoGet rid of grml-runtty
Darshaka Pathirana [Sun, 21 May 2017 17:34:32 +0000 (19:34 +0200)]
Get rid of grml-runtty

What once was done by grml-runtty can be now be accomplished by systemd.

That said, there is a weird behavior when starting GNU/screen via
"run-screen". When started via grml-runtty screen runs zsh, but
when started directly via systemd screen runs /bin/sh (= dash).

The reason for that is, that the SHELL variable is empty when called
directly via systemd whereas SHELL=/bin/zsh when started via
grml-runtty. I could not figure out why but a solution would be to set
the "Environment"-option in the systemd-unit which I will propose in a
separate commit.

(partly) fixes grml/grml#14

5 years agoSwitch from grml-runtty to agetty
Darshaka Pathirana [Fri, 19 May 2017 23:39:13 +0000 (01:39 +0200)]
Switch from grml-runtty to agetty

grml-runtty used to fix most of the pre-systemd environment problems. It
seems that it causes more troubles nowadays than it solved back then.
First and foremost grml-runtty does not provide a (systemd) login
session which prevents us from starting X reliably. Therefor replacing
grml-runtty with agetty with autologin where a grml-shell is used so far.

tty1 to tty4, where grml-runtty starts run-welcome (grml-quickconfig),
two root- and a grml-GNU-screen session, should also be replaced with a
proper systemd-unit.

Relates to grml/grml#14 and grml/grml#20

5 years agoSW: add haveged to GRMLBASE [Closes: issue1336]
Michael Prokop [Fri, 19 May 2017 14:42:58 +0000 (16:42 +0200)]
SW: add haveged to GRMLBASE [Closes: issue1336]

It's useful especially on VMs with low entropy, so provide it by default.

5 years agoSW: add rng-tools to GRMLBASE [Closes: issue1336]
Michael Prokop [Fri, 19 May 2017 14:39:36 +0000 (16:39 +0200)]
SW: add rng-tools to GRMLBASE [Closes: issue1336]

5 years agoProvide consistent header information for all /etc/systemd/ files that are deployed...
Michael Prokop [Fri, 19 May 2017 13:58:16 +0000 (15:58 +0200)]
Provide consistent header information for all /etc/systemd/ files that are deployed via grml-live

5 years agoWarn in initramfs if there is <256MM memory
Thomas Stewart [Fri, 19 May 2017 11:59:47 +0000 (12:59 +0100)]
Warn in initramfs if there is <256MM memory

Closes grml/grml#35

5 years agoTTY6/VT6 should start a shell if bootoption startx is not given
Darshaka Pathirana [Fri, 19 May 2017 13:15:24 +0000 (15:15 +0200)]
TTY6/VT6 should start a shell if bootoption startx is not given

When the bootoption "startx" is given, the helper-script
"/etc/init.d/startx" is created during the bootprocess (via

That means, that if the booptions "startx" is not given, the
helper-script is not created and tty6/vt6 should not try to start X but
should just start a grml-user-shell.

Related to grml/grml#20

5 years agoEnable systemd specific debug boot options in debugging mode
Michael Prokop [Thu, 18 May 2017 15:41:13 +0000 (17:41 +0200)]
Enable systemd specific debug boot options in debugging mode

See grml/grml#3

5 years agoDisable automatic 'ATA over Ethernet discovery'
Michael Prokop [Thu, 18 May 2017 15:00:41 +0000 (17:00 +0200)]
Disable automatic 'ATA over Ethernet discovery'

/usr/lib/modules-load.d/aoetools.conf by default contains:

| ## If you need to restrict the interfaces aoe will use, copy this
| ## file to /etc/modules-load.d/ and use this example:
| # aoe aoe_iflist="eth0,eth1"
| ## Load aoe driver with no interface restriction:
| aoe

and /lib/systemd/system/aoe-discover.service contains:

| [Unit]
| Description=ATA over Ethernet discovery
| BindsTo=sys-devices-virtual-aoe-discover.device
| DefaultDependencies=no
| [Service]
| Type=oneshot
| ExecStart=/sbin/aoe-discover

Since the aeotools.conf file tells systemd to load the aoe module
which then triggers the udev rule we end up with automatic
aoe-discover execution on default Grml boot, even though we
disable the aoe-discover service (since enabling/disabling only
affects starting via transitive dependencies, but the udev rule
is doing the equivalent of `systemctl start $unit`). By removing
/usr/lib/modules-load.d/aoetools.conf we ensure that automatic
'ATA over Ethernet discovery' is NOT executed, though if a user
runs 'modprobe aoe' it executes aoe-discover as intended.

Thanks: Felipe Sateler + Darshaka Pathirana for help in coming up with a solution
Closes grml/grml#32

5 years agoSW: add cpufrequtils to GRML_SMALL
Michael Prokop [Tue, 16 May 2017 22:29:17 +0000 (00:29 +0200)]
SW: add cpufrequtils to GRML_SMALL

It adds only ~250kb of additional disk space and provides
/etc/init.d/loadcpufreq which we use in grml-autoconfig.

Closes grml/grml#24

5 years agoEnable autologin for user root on serial console ttyS0
Michael Prokop [Tue, 16 May 2017 22:02:12 +0000 (00:02 +0200)]
Enable autologin for user root on serial console ttyS0

Closes grml/grml#21

5 years agoGRUB theme: replace desktop-color with desktop-image
Michael Prokop [Tue, 16 May 2017 21:13:12 +0000 (23:13 +0200)]
GRUB theme: replace desktop-color with desktop-image

With the desktop-color option we run into:

| error: null src bitmap in grub_video_bitmap_create_scaled.
| Loading kernel...
| Loading initrd...
| Press any key to continue...

By replacing it with this small black.png as desktop-image (which
is automatically stretched to the whole screen) the error message

Closes grml/grml#16
Thanks: Michael Schierl <>

5 years agoRelease new version 0.29.4 v0.29.4
Michael Prokop [Tue, 16 May 2017 12:49:16 +0000 (14:49 +0200)]
Release new version 0.29.4

5 years agoRevert "SW: provide xserver-xorg-video-intel on GRML_FULL"
Michael Prokop [Tue, 16 May 2017 12:47:46 +0000 (14:47 +0200)]
Revert "SW: provide xserver-xorg-video-intel on GRML_FULL"

This reverts commit 487e689322d6ec9c4336f0b337fd5ed54267358e.

Quoting from the package description:

| The use of this driver is discouraged if your hw is new enough (ca.
| 2007 and newer). You can try uninstalling this driver and let the
| server use it's builtin modesetting driver instead.

Thanks: Axel Beckert for the hint

5 years agoEnsure that tty1 console is starting *after* grml-autoconfig execution
Michael Prokop [Fri, 12 May 2017 18:50:07 +0000 (20:50 +0200)]
Ensure that tty1 console is starting *after* grml-autoconfig execution

Thanks: Darshaka Pathirana <>
Closes grml/grml#19

5 years agoDelete /lib/udev/rules.d/69-lvm-metad.rules to avoid automatic LVM scanning
Michael Prokop [Fri, 12 May 2017 14:39:00 +0000 (16:39 +0200)]
Delete /lib/udev/rules.d/69-lvm-metad.rules to avoid automatic LVM scanning

This might not be enough yet according to initial tests, but
it's something we want to disable for sure.

See grml/grml#31

5 years agoNo longer mask systemd-machine-id-commit.service
Michael Prokop [Fri, 12 May 2017 14:35:23 +0000 (16:35 +0200)]
No longer mask systemd-machine-id-commit.service

Masking the systemd-machine-id-commit.service causes
all kinds of problems with logins (local as well as via
ssh, causing sloooooow logins). Nowadays the overlayfs
bug also doesn't seem to be present anymore.

Closes grml/grml#27

5 years agoGRMLBASE/49-sshd: ensure that login as root via password works again
Michael Prokop [Fri, 12 May 2017 14:11:41 +0000 (16:11 +0200)]
GRMLBASE/49-sshd: ensure that login as root via password works again

openssh defaults to "prohibit-password" since openssh-server v1:7.1p1-1,
breaking our existing change regarding without-password.

While at it also improve the script to not readd the PermitRootLogin
and UseDNS configs with every single run, instead check for our
own modifications and skip them in further runs.

Closes grml/grml#12

5 years agoSW: provide xserver-xorg-video-intel on GRML_FULL
Michael Prokop [Fri, 12 May 2017 14:05:55 +0000 (16:05 +0200)]
SW: provide xserver-xorg-video-intel on GRML_FULL

For unknown reasons xserver-xorg-video-intel suddenly became
only a Recommends instead of a dependency of xserver-xorg-video-all:

| .../xorg (git)-[debian-unstable] % git show af937437
| commit af937437e6e6a6f34ee247ad2f3aefbd91d7444e
| Author: Timo Aaltonen <>
| Date:   Tue Mar 8 15:07:25 2016 +0200
|     Instead of dropping -intel from -video-all demote it to Recommends.

As a result this package was missing on our Grml ISOs.

Closes grml/grml#20

5 years agoSW: add lsscsi to GRML_SMALL
Michael Prokop [Tue, 9 May 2017 14:29:46 +0000 (16:29 +0200)]
SW: add lsscsi to GRML_SMALL

Thanks: András Korn

5 years agoRelease new version 0.29.3 v0.29.3
Michael Prokop [Fri, 5 May 2017 15:56:19 +0000 (17:56 +0200)]
Release new version 0.29.3

5 years agoSet grml-docs/startpage.html + as start pages in Firefox
Michael Prokop [Fri, 5 May 2017 14:45:39 +0000 (16:45 +0200)]
Set grml-docs/startpage.html + as start pages in Firefox

Closes grml/grml#18

5 years agoUse Firefox as default browser if present and drop iceweasel config
Darshaka Pathirana [Fri, 5 May 2017 13:33:27 +0000 (15:33 +0200)]
Use Firefox as default browser if present and drop iceweasel config

The "Iceweasel Age"[1] has ended and we can use Firefox again and
therefore use firefox as x-www-browser.

Unfortunately overriding the default homepage via
/etc/iceweasel/profile/prefs.js does not work anymore therefor dropping
the iceweasel configuration. (See: grml/grml#18)


Closes grml/grml#15

5 years agoRelease new version 0.29.2 v0.29.2
Michael Prokop [Fri, 5 May 2017 08:55:10 +0000 (10:55 +0200)]
Release new version 0.29.2

5 years agoSW: add linux-cpupower to GRML_FULL
Michael Prokop [Wed, 3 May 2017 09:53:08 +0000 (11:53 +0200)]
SW: add linux-cpupower to GRML_FULL

5 years agoMake startx boot option work with systemd
Darshaka Pathirana [Sun, 23 Apr 2017 23:52:38 +0000 (01:52 +0200)]
Make startx boot option work with systemd

The desired behavior (with systemd and the boot option "startx") is to start
the X window system automatically.

This is achieved by getty@tty6.service which starts grml-x as user "grml" on
vt6/tty6 and switches back to vt1/tty1 after exit. (This alone could be
achieved with systemd-unit option Type=oneshot and Restart=no). But when
switiching back to vt6/tty6 (again) we would like to start a zsh (for user
"grml") and restart the zsh if exited. That means that grml-x should only be
started on the very first run and the zsh on every other.

We could not figure out how to change the systemd-unit option "Type"
dynamically, so we kept it on "idle" which means that the "actual execution of
the service binary is delayed until all active jobs are dispatched". That's why
we need to switch to vt6/tty6 (via grml-autoconfig) iff the boot option
"startx" is given.

We also do not know yet how to dynamically change the behavior of the
systemd-unit in a safe way. Rewriting the unit-file (override.conf) after
grml-x exits (i.e. with ExecStopPost) doesn't seem to work reliably (especially
when calling "systemctl daemon-reload" in it). That's why we use a state-file
(/var/run/grml_startx.started) to start up grml-x on the first call and the zsh

This also means that grml-x is started automatically when switching to vt6/tty6
manually (when no "startx" boot option was given) once and the zsh on the
following calls.

Closes grml/grml#1

5 years agodeborphan: add qemu-kvm to list of packages which are never to be reported
Michael Prokop [Fri, 21 Apr 2017 12:31:09 +0000 (14:31 +0200)]
deborphan: add qemu-kvm to list of packages which are never to be reported

In commit ec12218051e8c1 we added qemu-system-x86 as underlying
dependency for qemu-kvm, now qemu-kvm is considered for removal.
This seems to be the case because qemu-kvm depends on
qemu-system-x86 and and even though we explicitely ask for both
packages to be installed, then qemu-kvm is considered for
removal. Let's avoid this by adding qemu-kvm to the list of
packages which are never to be reported by deborphan, then it's
not automatically removed via DEBORPHAN/98-clean-chroot.

Noticed via "grml-live-missing-packages.test_missing_packages_qemu-kvm"
in Jenkins daily builds.

5 years agoSW: replace transitional package iptraf with iptraf-ng
Michael Prokop [Fri, 21 Apr 2017 12:17:29 +0000 (14:17 +0200)]
SW: replace transitional package iptraf with iptraf-ng

Noticed by grml-live's test-suite inside Jenkins

5 years agoGRMLBASE/21-usersetup: add grml user to 'input' group
Michael Prokop [Fri, 7 Apr 2017 13:41:03 +0000 (15:41 +0200)]
GRMLBASE/21-usersetup: add grml user to 'input' group

Otherwise when invoking "grml-x" on tty5 as user grml we don't
have control over mouse and keyboard.

Thanks: Laurent Bigonville for the hint

5 years agoSW: include systemd-container in GRMLBASE
Michael Prokop [Fri, 7 Apr 2017 13:15:56 +0000 (15:15 +0200)]
SW: include systemd-container in GRMLBASE

6 years agofixup build broken by 7beda7d
Antoine Beaupré [Wed, 15 Mar 2017 17:16:40 +0000 (13:16 -0400)]
fixup build broken by 7beda7d

6 years agoOutput to "./grml" in current working directory instead of /grml/grml-live
Antoine Beaupré [Wed, 15 Mar 2017 12:53:24 +0000 (08:53 -0400)]
Output to "./grml" in current working directory instead of /grml/grml-live

this would create problems as / is often space restricted

Closes #31 @ GH

6 years agoRelease new version 0.29.1 v0.29.1
Michael Prokop [Tue, 7 Mar 2017 16:18:26 +0000 (17:18 +0100)]
Release new version 0.29.1

6 years agodebian/rules: replace deprecated dh_clean -k with dh_prep
Michael Prokop [Tue, 7 Mar 2017 16:17:37 +0000 (17:17 +0100)]
debian/rules: replace deprecated dh_clean -k with dh_prep

6 years agodocs: fix typo (ot->to)
Michael Prokop [Tue, 7 Mar 2017 16:16:42 +0000 (17:16 +0100)]
docs: fix typo (ot->to)

6 years agoIf locales-all package is installed skip locales generation
Michael Prokop [Tue, 7 Mar 2017 16:08:38 +0000 (17:08 +0100)]
If locales-all package is installed skip locales generation

Otherwise the wrong (+ missing) locales might end up on the system
if locales-all is installed. If the ISO size doesn't matter then
this also speeds up the ISO generation process since locale-gen
doesn't need to be executed.

6 years agoAdd default user (grml) to "disk" group
Michael Prokop [Tue, 7 Mar 2017 15:09:05 +0000 (16:09 +0100)]
Add default user (grml) to "disk" group

Noticed that this might be useful while working on Grml-Forensic.

6 years agoRelease new version 0.29.0 v0.29.0
Michael Prokop [Fri, 24 Feb 2017 14:13:48 +0000 (15:13 +0100)]
Release new version 0.29.0

6 years agoFix generation of SHA-256 and SHA-512 hashes
Michael Prokop [Fri, 24 Feb 2017 12:49:36 +0000 (13:49 +0100)]
Fix generation of SHA-256 and SHA-512 hashes

Fixes missing output generation of commit fd166a511adc0f222f365d61252c0a32a78ebcdf

6 years agoProvide new
Darshaka Pathirana [Fri, 24 Feb 2017 12:51:41 +0000 (13:51 +0100)]
Provide new

With this new target we can now define which services are started on

Prior this target some services (without a systemd-service file) were
automatically started because of the systemd-sysv-generator (i.e.

Thanks: Felipe Sateler
Closes grml/release-planning#2 @ GH

6 years agoCreate /home/$USERNAME in RELEASE class with up2date files from /etc/skel
Michael Prokop [Fri, 24 Feb 2017 12:10:18 +0000 (13:10 +0100)]
Create /home/$USERNAME in RELEASE class with up2date files from /etc/skel

Until now we removed everything from /home/grml in the RELEASE
class. The grml-home init script from grml-etc then used to copy
files from /etc/skel to /home/grml during bootup. Instead lets do
this during ISO build time to speed up the boot process. To
ensure that no unwanted files are in /home/grml (actually:
/home/$USERNAME) we remove the directory, recreate it and then
copy all files from /etc/skel.

This fixes the problem that /home/grml is empty and has wrong
permissions if grml-home isn't executed (which is happening
with systemd nowadays where we don't execute grml-home during

Closes grml/release-planning#7 @ GH