2 years agoReport "Device-mapper support missing in kernel." as error message
Michael Prokop [Wed, 14 Nov 2018 21:17:11 +0000 (22:17 +0100)]
Report "Device-mapper support missing in kernel." as error message

Fix typo in comment, while at it

2 years agoMerge remote-tracking branch 'origin/pr/111'
Michael Prokop [Wed, 14 Nov 2018 21:12:40 +0000 (22:12 +0100)]
Merge remote-tracking branch 'origin/pr/111'

2 years agoMerge remote-tracking branch 'origin/pr/112'
Michael Prokop [Wed, 14 Nov 2018 21:08:35 +0000 (22:08 +0100)]
Merge remote-tracking branch 'origin/pr/112'

2 years agoMakefile: drop functions directory, no longer being relevant
Michael Prokop [Wed, 14 Nov 2018 21:07:23 +0000 (22:07 +0100)]
Makefile: drop functions directory, no longer being relevant

With the integration of cmdlinesopts.clp into the main script
this directory is no longer relevant.

2 years agoImprove cleanup of loop devices
Darshaka Pathirana [Wed, 25 Jul 2018 10:14:37 +0000 (12:14 +0200)]
Improve cleanup of loop devices

kpartx (sometimes) does not cleanup the loop devices when deleting the
partition devmappings. This is a known bug, see Debian Bug #891077.

This is change is a possible workaround for that issue.

Now aborting grml-debootstrap is possible without leaving unneded loop
devices behind.

2 years agoEnsure /etc/timezone also includes the TIMEZONE setting
Michael Prokop [Wed, 25 Jul 2018 16:34:28 +0000 (18:34 +0200)]
Ensure /etc/timezone also includes the TIMEZONE setting

Quoting from the bug report:

| The timezone is currently setup in chroot-script:timezone(), but
| that function only sets up /etc/localtime but not /etc/timezone.
| The problem is that you end up with one set to Europe/Vienna and
| the other set to Etc/UTC.
| This can greatly confuse the system, due to some libraries/tools
| parsing the former, and other the latter.
| So that function should probably also update /etc/timezone, with
| the TIMEZONE value.

So write the $TIMEZONE setting to /etc/timezone.

Closes: #904607
Thanks: Guillem Jover <>

2 years agotravis: run tests from inside VM + support test execution outside of Travis CI
Michael Prokop [Wed, 25 Jul 2018 17:51:03 +0000 (19:51 +0200)]
travis: run tests from inside VM + support test execution outside of Travis CI

This is a big improvement, because we can now communicate with
the running VM, including executing processes inside the VM, like
running goss directly from inside the VM.

While at it also adjust travis/ to be able to run it
*locally* as well. We now don't have to necessarily push to Travis
CI, which also serves to be useful when developing new features.

Thanks: Christian Hofstaedtler <> for helping me with the serial console handling

2 years agoSimplify module loading
Chris Hofstaedtler [Wed, 25 Jul 2018 18:34:24 +0000 (20:34 +0200)]
Simplify module loading

This works fine on stretch.

2 years agoInitial VM test builds on TravisCI
Michael Prokop [Tue, 24 Jul 2018 10:21:21 +0000 (12:21 +0200)]
Initial VM test builds on TravisCI

We're starting a Docker container with Debian/stretch, installing
the Debian package build result (generated via
of grml-debootstrap inside it. Then execute grml-debootstrap,
installing to a VM file. Finally boot the generated VM file via

We use stdio of qemu's serial console to check for the boot prompt
of the installed Debian system, using goss for running the actual

2 years agoImprove checks to make sure loop and dm-mod module are present
Darshaka Pathirana [Tue, 24 Jul 2018 11:34:45 +0000 (13:34 +0200)]
Improve checks to make sure loop and dm-mod module are present

This fix was triggered because running --vmfile to create a virtual
machine image file caused the following error:

| device-mapper: reload ioctl on loop1p1p1 failed: Device or resource busy
| create/reload failed on loop1p1p1

This was caused because kpartx was run twice. The first run was used to test if
the Device-mapper was ready and the second run was actually add the partition
mappings. This used to fail under some circumstances.

2 years agoUse for travis builds
Michael Prokop [Mon, 23 Jul 2018 06:57:20 +0000 (08:57 +0200)]
Use for travis builds

While at it drop irrelevant stuff from .travis.yml.

Thanks Chris Lamb <> for \o/

2 years agoSwitch default mirror from to
Michael Prokop [Mon, 23 Jul 2018 07:07:30 +0000 (09:07 +0200)]
Switch default mirror from to forwards to
nowadays, provided by Fastly and Amazon CloudFront.

2 years agoDrop references from build system
Michael Prokop [Mon, 23 Jul 2018 06:55:34 +0000 (08:55 +0200)]
Drop references from build system

Also drop tests/, it reports
success even though it can't even source the fileā€¦

2 years agoFurther fixes for shellcheck v0.5.0
Michael Prokop [Sun, 22 Jul 2018 17:24:54 +0000 (19:24 +0200)]
Further fixes for shellcheck v0.5.0

Fix issues not yet found with shellcheck v0.4.4

2 years agoAdd missing vim folding markers
Michael Prokop [Sun, 22 Jul 2018 17:19:14 +0000 (19:19 +0200)]
Add missing vim folding markers

2 years agoIntegrate cmdlineopts.clp into grml-debootstrap
Michael Prokop [Sun, 22 Jul 2018 17:18:29 +0000 (19:18 +0200)]
Integrate cmdlineopts.clp into grml-debootstrap

This makes our life easier with shellcheck

2 years agoFix shellcode issues
Michael Prokop [Sun, 22 Jul 2018 15:04:53 +0000 (17:04 +0200)]
Fix shellcode issues

Would be nice to avoid the shellcheck ignores overall, though I
don't want to break backwards compatibility with existing
configurations, so be as conservative as possible by ignoring
known incompatibilities (see esp. disable=SC2086).

2 years agoInitial travis integration, running shellcheck
Michael Prokop [Sun, 22 Jul 2018 14:50:32 +0000 (16:50 +0200)]
Initial travis integration, running shellcheck

2 years agoSuppress message if /boot/efi isn't considered a mountpoint
Michael Prokop [Fri, 13 Jul 2018 13:18:17 +0000 (15:18 +0200)]
Suppress message if /boot/efi isn't considered a mountpoint

Avoid the misleading error message if efi support isn't present,
by redirecting stderr to /dev/null as well.

2 years agoRelease new version 0.82 v0.82
Michael Prokop [Fri, 25 May 2018 11:48:31 +0000 (13:48 +0200)]
Release new version 0.82

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

2 years agoSort packages files
Michael Prokop [Fri, 25 May 2018 11:02:46 +0000 (13:02 +0200)]
Sort packages files

2 years agoMerge remote-tracking branch 'remotes/origin/pr/97'
Michael Prokop [Fri, 25 May 2018 11:02:05 +0000 (13:02 +0200)]
Merge remote-tracking branch 'remotes/origin/pr/97'

2 years agoRelease new version 0.81 v0.81
Michael Prokop [Mon, 15 Jan 2018 09:58:58 +0000 (10:58 +0100)]
Release new version 0.81

2 years agoBump Standards-Version to 4.1.3
Michael Prokop [Mon, 15 Jan 2018 09:57:59 +0000 (10:57 +0100)]
Bump Standards-Version to 4.1.3

2 years agoAdd e2fsprogs to Depends
Michael Prokop [Mon, 15 Jan 2018 09:54:49 +0000 (10:54 +0100)]
Add e2fsprogs to Depends

Debian wants to make removing e2fsprogs from installations
possible.  Once e2fsprogs drops the "Essential: yes" flag
e2fsprogs's mkfs.ext4 binary won't necessarily be available any
longer, while we default to usage of mkfs.ext4 in

Thanks: Helmut Grohne <> for the bugreport
Closes: #887224

2 years agoRelease new version 0.80 v0.80
Michael Prokop [Fri, 8 Dec 2017 11:54:28 +0000 (12:54 +0100)]
Release new version 0.80

2 years agoBump Standards-Version to 4.1.2
Michael Prokop [Fri, 8 Dec 2017 11:53:46 +0000 (12:53 +0100)]
Bump Standards-Version to 4.1.2

2 years agoIdentify UUID of target system even if it's SWRAID or a mountpoint
Michael Prokop [Sat, 2 Dec 2017 08:25:19 +0000 (09:25 +0100)]
Identify UUID of target system even if it's SWRAID or a mountpoint

The `blkid -o udev` doesn't work for mountpoints.
Also we can't rely on setting the TARGET_UUID within
mkfs, as this might not even get executed.

Closes #100
Thanks: hex2a for reporting and testing

3 years agopacker: use latest VirtualBox Guest Additions ISO
Michael Prokop [Tue, 21 Nov 2017 15:10:23 +0000 (16:10 +0100)]
packer: use latest VirtualBox Guest Additions ISO

Using the default local Virtualbox Guest Additions ISO will result
in different builds depending on the system being used.
My Debian jessie system with Virtualbox 5.1.8-dfsg-6~bpo8+2
from jessie-backports/contrib is actually too old to build
stretch and newer as the kernel module can't be compiled.
So instead use a specific VBoxGuestAdditions ISO, currently
being the one recommended by upstream on

While at it:

* increase VM memory size from 512MB to 1GB during build, otherwise
  we can't even use a temporary apt cache directory and will fail with OOM

* check for build errors in virtualbox logs

* /var/log/VBoxGuestAdditions.log doesn't necessarily exist,
  so instead display the last 10 lines of the according log files
  that actually exist

3 years agopacker: use current Grml release 2017.05 for building
Michael Prokop [Thu, 16 Nov 2017 12:51:36 +0000 (13:51 +0100)]
packer: use current Grml release 2017.05 for building

3 years agopacker: add support for building Debian/buster
Michael Prokop [Thu, 16 Nov 2017 12:51:18 +0000 (13:51 +0100)]
packer: add support for building Debian/buster

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

s/the the/the/

3 years agoRelease new version 0.79 v0.79
Michael Prokop [Thu, 17 Aug 2017 12:42:21 +0000 (14:42 +0200)]
Release new version 0.79

3 years agoBump Standards-Version to 4.0.1
Michael Prokop [Thu, 17 Aug 2017 12:40:12 +0000 (14:40 +0200)]
Bump Standards-Version to 4.0.1

3 years agoDepend on fdisk | util-linux (<< 2.29.2-3~)
Michael Prokop [Thu, 17 Aug 2017 12:38:45 +0000 (14:38 +0200)]
Depend on fdisk | util-linux (<< 2.29.2-3~)

As recently announced on debian-devel-announce
packages who need any of sfdisk, cfdisk or fdisk will need to add
a dependency on the new fdisk package.

Closes: #872219
Thanks: Andreas Henriksson <>

3 years agoAdd documentation for --defaultinterfaces command line option
Darshaka Pathirana [Fri, 28 Jul 2017 22:34:20 +0000 (00:34 +0200)]
Add documentation for --defaultinterfaces command line option

Closes: grml/grml-debootstrap#103

3 years agoUpdate /dev and /dev/pts mount from --bind to proper fs type
Bigo [Sun, 9 Jul 2017 11:41:24 +0000 (12:41 +0100)]
Update /dev and /dev/pts mount from --bind to proper fs type

3 years agoone package per line
Patrick Schleizer [Tue, 7 Feb 2017 19:37:10 +0000 (19:37 +0000)]
one package per line

3 years agoRelease new version 0.78 v0.78
Michael Prokop [Thu, 26 Jan 2017 00:18:33 +0000 (01:18 +0100)]
Release new version 0.78

3 years agoDebian stretch is the new default release
Michael Prokop [Thu, 26 Jan 2017 00:02:54 +0000 (01:02 +0100)]
Debian stretch is the new default release

Update documentation accordingly, also related to squeeze EOL

3 years agoDon't generate rootfs entry in /etc/fstab if we don't know its UUID [Closes: issue2182]
Michael Prokop [Wed, 25 Jan 2017 23:46:41 +0000 (00:46 +0100)]
Don't generate rootfs entry in /etc/fstab if we don't know its UUID [Closes: issue2182]

With a command line like:

  grml-debootstrap --grub /dev/sda -t /media/sda1 ...

the resulting fstab gets:

  /media/sda1 /  auto    defaults,errors=remount-ro 0   1

which is for sure unwanted. So don't such an entry in the fstab
if we lack details about the underlying rootfs and instead warn
the user that this *might* be a problem.

3 years agoDrop sysfsutils from default software package list [Closes: issue2240]
Michael Prokop [Tue, 24 Jan 2017 22:03:00 +0000 (23:03 +0100)]
Drop sysfsutils from default software package list [Closes: issue2240]

sysfsutils was reported to take 2.5 seconds during system
startup.  Also the package is maintained by the Debian QA Group
and isn't useful and relevant enough to justify being part of the
default software selection.

Thanks to PaulePanter for the hint on IRC.

diff --git a/packages b/packages
index c4b7806..72433b6 100644
--- a/packages
+++ b/packages
@@ -1,7 +1,7 @@
 locales console-data console-common
 initramfs-tools mdadm lvm2
 grub-pc os-prober
-bzip2 file less lsof most pciutils resolvconf screen ssh strace sysfsutils usbutils vim w3m zsh
+bzip2 file less lsof most pciutils resolvconf screen ssh strace usbutils vim w3m zsh

3 years agodon't fiddle around with /etc/hosts
Evgeni Golov [Tue, 24 Jan 2017 21:53:56 +0000 (22:53 +0100)]
don't fiddle around with /etc/hosts

netbase generates a nice /etc/hosts for us since squeeze.
for the weird case it did not (ohai lenny!), deploy the version
netbase in stretch has.

Fixes: #94

3 years agoRelease new version 0.77 v0.77
Michael Prokop [Tue, 24 Jan 2017 20:37:24 +0000 (21:37 +0100)]
Release new version 0.77

3 years agoHonor GRUB_DISABLE_LINUX_UUID=true for all Debian releases
Michael Prokop [Tue, 24 Jan 2017 20:33:53 +0000 (21:33 +0100)]
Honor GRUB_DISABLE_LINUX_UUID=true for all Debian releases

There's no point in having a release specific check when
checking configuration setting for GRUB_DISABLE_LINUX_UUID.
So if GRUB_DISABLE_LINUX_UUID is set to "true" then always
honor it.

Thanks: hex2a for the initial patch (see PR #96)
Closes grml/grml-debootstrap#87

3 years agoForbid xsltproc to use network for building
Christian Hofstaedtler [Sun, 18 Dec 2016 18:08:09 +0000 (18:08 +0000)]
Forbid xsltproc to use network for building

3 years agoBump debhelper compat level to 10
Christian Hofstaedtler [Sun, 18 Dec 2016 18:06:13 +0000 (18:06 +0000)]
Bump debhelper compat level to 10

3 years agoUpdate my email address
Christian Hofstaedtler [Sun, 18 Dec 2016 18:05:36 +0000 (18:05 +0000)]
Update my email address

3 years agoExport TARGET_HOSTNAME before running post-scripts
Stefan Schlesinger [Thu, 15 Dec 2016 17:45:08 +0000 (18:45 +0100)]
Export TARGET_HOSTNAME before running post-scripts

Export $HOSTNAME in TARGET_HOSTNAME so one is able to do customize things based upon the hostname of the installed machine (eg. to populate /e/n/interfaces by doing a external database lookup).

4 years agoRelease new version 0.76 v0.76
Michael Prokop [Thu, 22 Sep 2016 12:25:57 +0000 (14:25 +0200)]
Release new version 0.76

4 years agoBump Standards-Version to 3.9.8
Michael Prokop [Thu, 22 Sep 2016 12:25:11 +0000 (14:25 +0200)]
Bump Standards-Version to 3.9.8

4 years agoSwitch Homepage + Vcs-Browser fields to https
Michael Prokop [Thu, 22 Sep 2016 12:24:51 +0000 (14:24 +0200)]
Switch Homepage + Vcs-Browser fields to https

4 years agoIgnore packer/packer_cache during dpkg-source generation
Michael Prokop [Thu, 22 Sep 2016 12:08:21 +0000 (14:08 +0200)]
Ignore packer/packer_cache during dpkg-source generation

Otherwise if packer/packer_cache contains the cached ISO files
the generated grml-debootstrap_*.tar.xz contains all the cache
files which is clearly unwanted.

Thanks: Guillem Jover for the hint

4 years agoDisable ^metadata_csum' feature when creating ext fs for releases <= jessie [Closes...
Michael Prokop [Thu, 22 Sep 2016 11:26:27 +0000 (13:26 +0200)]
Disable ^metadata_csum' feature when creating ext fs for releases <= jessie [Closes: issue2178]

Otherwise fsck complains about:

| /dev/mapper/.... has unsupported feature(s): metadata_csum
| e2fsck: Get a newer version of e2fsck!
| fsck failed with error code 8.

4 years agopacker: apply predictable network interface workaround for Debian/stretch and newer
Michael Prokop [Thu, 11 Aug 2016 21:34:53 +0000 (23:34 +0200)]
packer: apply predictable network interface workaround for Debian/stretch and newer

We currently get a default network configuration in
/etc/network/interfaces which refers to eth0 (and eth1). But on
Debian/stretch and newer the devices follow the new network
interface naming schema (see udev's README.Debian for further
details). This causes e.g. a vagrant up run for a stretch based
base box to fail since it can't login via SSH then. Until there's
a better approach available just use the predictable network
interface naming schema via udev as recommended.

4 years agopacker: explicitly set Bash as default shell for Vagrant user
Michael Prokop [Thu, 11 Aug 2016 21:33:33 +0000 (23:33 +0200)]
packer: explicitly set Bash as default shell for Vagrant user

If the provision script fails with Zsh setup then it's annoying
to be dropped to /bin/sh, so let's assume /bin/bash as safe

4 years agoHide errors during loading of efivars module
Michael Prokop [Fri, 15 Jul 2016 10:16:51 +0000 (12:16 +0200)]
Hide errors during loading of efivars module

If efivars can't be loaded then EFI support isn't present,
but don't display the error message of the module loading
to the user.

4 years agoRelease new version 0.75 v0.75
Michael Prokop [Fri, 10 Jun 2016 09:34:33 +0000 (11:34 +0200)]
Release new version 0.75

4 years agoAdd EFI support via --efi <device> option
Michael Prokop [Wed, 2 Mar 2016 15:04:23 +0000 (16:04 +0100)]
Add EFI support via --efi <device> option

This is useful for systems using (U)EFI, otherwise it needs
annoying manual work, so instead automate the steps, assuming
<device> is a valid EFI partition.

NOTE: we need /sys inside the target system, so ensure it's available.

Thanks: Darshaka Pathirana <> for the pair programming session

4 years agoRelease new version 0.74 v0.74
Michael Prokop [Mon, 22 Feb 2016 21:23:19 +0000 (22:23 +0100)]
Release new version 0.74

4 years agoUpdate copyright year information
Michael Prokop [Mon, 22 Feb 2016 21:14:54 +0000 (22:14 +0100)]
Update copyright year information

4 years agoBump Standards-Version to 3.9.7
Michael Prokop [Mon, 22 Feb 2016 21:14:19 +0000 (22:14 +0100)]
Bump Standards-Version to 3.9.7

4 years agoNo longer depend on mksh + drop check for mksh
Michael Prokop [Mon, 22 Feb 2016 21:13:47 +0000 (22:13 +0100)]
No longer depend on mksh + drop check for mksh

4 years agoEnsure that grub-pc/install_devices is pointing to the requested device
Michael Prokop [Mon, 22 Feb 2016 20:23:38 +0000 (21:23 +0100)]
Ensure that grub-pc/install_devices is pointing to the requested device

Noticed via a customer (MT#16911), while it's not causing
real problems with wheezy->jessie upgrades it still might
hit us in the future, see

4 years agoEnsure that MBR jumping to GRUB's core.img code
Sebastian Pipping [Tue, 4 Aug 2015 11:09:29 +0000 (13:09 +0200)]
Ensure that MBR jumping to GRUB's core.img code

Previously, bootgrub.mksh took that job but we just resolved it.
New approach based as done on [1] but with copying 440 bytes only
(rather than 446), to keep existing disk identifier in place [2].


4 years agoMark first partition bootable
Sebastian Pipping [Tue, 4 Aug 2015 10:56:08 +0000 (12:56 +0200)]
Mark first partition bootable

4 years agoResolve now unused bootgrub.mksh (issue #90)
Sebastian Pipping [Thu, 30 Jul 2015 15:44:17 +0000 (17:44 +0200)]
Resolve now unused bootgrub.mksh (issue #90)

4 years agoUse parted to create partition table (issue #90)
Sebastian Pipping [Thu, 30 Jul 2015 15:41:40 +0000 (17:41 +0200)]
Use parted to create partition table (issue #90)

4 years agoimproved amd64 on i386 build attempt bailout msg
Patrick Schleizer [Thu, 17 Dec 2015 22:44:07 +0000 (23:44 +0100)]
improved amd64 on i386 build attempt bailout msg

5 years agoRelease new version 0.73 v0.73
Michael Prokop [Tue, 18 Aug 2015 11:31:17 +0000 (13:31 +0200)]
Release new version 0.73

5 years agoDocker setup for automated builds + environment for testing
Michael Prokop [Wed, 8 Jul 2015 14:24:41 +0000 (16:24 +0200)]
Docker setup for automated builds + environment for testing

It would be nice to automatically execute a wide range of tests
on each commit to the grml-debootstrap repository. We aren't
there yet, but a combination of docker and packer builds should
provide a decent starting point.

This change includes a Dockerfile to provide a public available
grml-debootstrap docker environment via the Docker Hub Registry
as well as scripts and tests for further exploration.

Please refer to the included README or visit for
further information.

5 years agoAdd kmod to Depends, required for modprobe(8) for loop device handling
Michael Prokop [Wed, 8 Jul 2015 14:40:21 +0000 (16:40 +0200)]
Add kmod to Depends, required for modprobe(8) for loop device handling

We need loop device handling for the VM setup, while this isn't
a strict requirement when installing non-VMs it still makes sense
to depend on kmod/modprobe to provide a proper user experience.

5 years agoUse official redirector address [1]
Paul Menzel [Wed, 17 Jun 2015 18:16:30 +0000 (20:16 +0200)]
Use official redirector address [1]

The address `` is officially replaced by

Use the following command to update all places.

git grep -l '' | xargs sed -i 's,,,g'


5 years agoRelease new version 0.72 v0.72
Michael Prokop [Tue, 16 Jun 2015 09:19:50 +0000 (11:19 +0200)]
Release new version 0.72

5 years agoReport CONFFILES usage in config overview
Michael Prokop [Tue, 9 Jun 2015 22:04:08 +0000 (00:04 +0200)]
Report CONFFILES usage in config overview

CONFFILES defaults to /etc/debootstrap, but especially if
something else gets used (e.g. with packer runs and
GRML_DEBOOTSTRAP_VERSION=local) this should be clearly visible on
the execution screen.

5 years agoDrop --force-yes option from chroot-scripts' apt-get usage
Michael Prokop [Tue, 9 Jun 2015 22:02:02 +0000 (00:02 +0200)]
Drop --force-yes option from chroot-scripts' apt-get usage

The --force-yes option may lead to installation of packages that
fail GPG verification checks. If someone really needs the
--force-yes option (to actually really force package
installation) then this should be handled via DPKG_OPTIONS

Fixes #62 @ github

5 years agopacker: improve support for testing local grml-debootstrap version
Michael Prokop [Tue, 9 Jun 2015 22:01:54 +0000 (00:01 +0200)]
packer: improve support for testing local grml-debootstrap version

Sadly packer lacks an option to copy an entire directory
*excluding* certain files, otherwise we could just copy the whole
grml-debootstrap.git directory. But as to the packer_cache
directory is present in grml-debootstrap.git directory during
packer execution this makes no sense. So use a workaround to get
the same behaviour. Allow testing of grml-debootstrap without
having to commit and push stuff to git first, so one can hack on
stuff, test and only then commit and push it.

5 years agoRelease new version 0.71 v0.71
Michael Prokop [Fri, 5 Jun 2015 23:36:46 +0000 (01:36 +0200)]
Release new version 0.71

5 years agoUpdate debian/copyright + move to dep5 style
Michael Prokop [Fri, 5 Jun 2015 23:27:46 +0000 (01:27 +0200)]
Update debian/copyright + move to dep5 style

5 years agoDrop unmaintained THANKS file
Michael Prokop [Fri, 5 Jun 2015 23:19:10 +0000 (01:19 +0200)]
Drop unmaintained THANKS file

5 years agoAdd stretch to release-table and update lenny installation instructions
Michael Prokop [Fri, 5 Jun 2015 23:07:39 +0000 (01:07 +0200)]
Add stretch to release-table and update lenny installation instructions

5 years agoconfig: change from GPL-2 to GPL-2+
Michael Prokop [Fri, 5 Jun 2015 21:48:23 +0000 (23:48 +0200)]
config: change from GPL-2 to GPL-2+

5 years agopacker/Vagrant: make jessie the new default Debian release
Michael Prokop [Fri, 5 Jun 2015 13:19:18 +0000 (15:19 +0200)]
packer/Vagrant: make jessie the new default Debian release

5 years agopacker: support different Debian + grml-debootstrap releases
Michael Prokop [Fri, 5 Jun 2015 10:48:50 +0000 (12:48 +0200)]
packer: support different Debian + grml-debootstrap releases

* update Grml ISO to version 2014.11
* instead of running 'make packer' now it's possible to execute
  "make $debian_version" with support for lenny, squeeze, wheezy,
  jessie and stretch as $debian_version (lenny lacking support for
  Virtualbox Guest Additions though)
* setting GRML_DEBOOTSTRAP_VERSION allows to control the
  grml-debootstrap version that should be used, defaults to the
  latest CI build from

5 years agoDisplay error message if --vmfile and --grub are used in same cmdline
Michael Prokop [Fri, 5 Jun 2015 08:43:50 +0000 (10:43 +0200)]
Display error message if --vmfile and --grub are used in same cmdline

This is an invalid and unneeded combination.

Fixes #84 @ github

5 years agoMake mountpoint output silent
Michael Prokop [Thu, 4 Jun 2015 13:26:08 +0000 (15:26 +0200)]
Make mountpoint output silent

Related to issue #66 @ github / commit 9d9ec2d4cee334ce5b378fb880a2c58c57e4f6e7

5 years agoDisable SCRIPTS by default, replaced by POST_SCRIPTS
Michael Prokop [Thu, 4 Jun 2015 13:12:43 +0000 (15:12 +0200)]
Disable SCRIPTS by default, replaced by POST_SCRIPTS

5 years agoMake check for GRUB_DISABLE_LINUX_UUID more stable
Michael Prokop [Thu, 4 Jun 2015 13:04:31 +0000 (15:04 +0200)]
Make check for GRUB_DISABLE_LINUX_UUID more stable

Thanks: Patrick Schleizer <> for the feedback

5 years agoRun code for --remove-configs before unmounting chroot
Michael Prokop [Thu, 4 Jun 2015 12:59:45 +0000 (14:59 +0200)]
Run code for --remove-configs before unmounting chroot

Otherwise the mountpoint won't be there anymore.
Also check whether the mountpoint exists before trying
to delete anything.

Fixes #66 @ github

5 years agoWrite hostname to installed system (fix for bedb4090)
Michael Prokop [Thu, 4 Jun 2015 12:54:43 +0000 (14:54 +0200)]
Write hostname to installed system (fix for bedb4090)

Fixes #54 @ github
Thanks: Sebastian Pipping <> for catching this issue

5 years agoFix syntax error for introduced in 91f2e990ca65aa367
Michael Prokop [Thu, 4 Jun 2015 12:38:34 +0000 (14:38 +0200)]
Fix syntax error for introduced in 91f2e990ca65aa367

5 years agoProvide new option --remove-configs to delete grml-debootstrap configuration files...
Michael Prokop [Thu, 4 Jun 2015 12:24:36 +0000 (14:24 +0200)]
Provide new option --remove-configs to delete grml-debootstrap configuration files from installed system

Fixes #66 @ github

5 years agoHonor GRUB_DISABLE_LINUX_UUID=true and don't set root=UUID then
Michael Prokop [Thu, 4 Jun 2015 12:11:22 +0000 (14:11 +0200)]
Honor GRUB_DISABLE_LINUX_UUID=true and don't set root=UUID then

According to the bug report pygrub doesn't support the UUID
magic.  If the user explicitely sets GRUB_DISABLE_LINUX_UUID=true
in /etc/default/grub we should honor that. Don't adjust grub.cfg
but instead prompt a warning then.

Fixes #65 @ github

5 years agoEnsure that grub-pc is installed in VMs even when using --nopackages
Michael Prokop [Thu, 4 Jun 2015 11:40:12 +0000 (13:40 +0200)]
Ensure that grub-pc is installed in VMs even when using --nopackages

We're always setting up GRUB as bootloader when installing a VM.
If the --nopackages options is present the grub-pc package is
missing inside the VM. Therefore ensure that the grub-pc is still

Fixes #40 @ github

5 years agoProvide hostname to pre-scripts by setting up /etc/hostname
Michael Prokop [Thu, 4 Jun 2015 11:38:30 +0000 (13:38 +0200)]
Provide hostname to pre-scripts by setting up /etc/hostname

While at it fix coding style and quoting of execute_pre_scripts() function.

Fixes #54 @ github

5 years agoExplicitely set LANGUAGE=C to avoid possible locale issues
Michael Prokop [Thu, 4 Jun 2015 11:33:34 +0000 (13:33 +0200)]
Explicitely set LANGUAGE=C to avoid possible locale issues

In github issue #48 the following was reported when running with
option --debopt "--verbose --include=grub-pc,locales":

| *** update-locale: Error: invalid locale settings:  LANGUAGE=en_US:en LANG=en_US.UTF-8

While this shouldn't be a real problem but just a warning message
it still might be a good idea to explictely reset LANGUAGE=C.

for details regarding LANG/LC_ALL/LANGUAGE handling.

Fixes #48 @ github

5 years agoRename --scripts to --post-scripts for consistency
Michael Prokop [Thu, 4 Jun 2015 10:43:56 +0000 (12:43 +0200)]
Rename --scripts to --post-scripts for consistency

The --scripts option and SCRIPTS config are still supported but display a
deprecation warning now.

Fixes #52 @ github

5 years agoInclude HTML documentation in Debian package
Michael Prokop [Thu, 4 Jun 2015 10:39:23 +0000 (12:39 +0200)]
Include HTML documentation in Debian package

5 years agoMake it more friendly to install on non-Debian distributions
Michael Prokop [Thu, 4 Jun 2015 10:33:25 +0000 (12:33 +0200)]
Make it more friendly to install on non-Debian distributions

* make DOCBOOK_XML=... supports providing a custom docbook.xsl
  instead of the default (/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl)
* provide install target via Makefile, supporting $DESTDIR
* minimize debian/rules

This should allow installation of grml-debootstrap on e.g. Fedora + Gentoo.
Thanks: Sebastian Pipping <> for feature request
Fixes #57 @ github