2 years agoMerge remote-tracking branch 'origin/pr/35'
Michael Prokop [Wed, 3 Jun 2020 13:11:37 +0000 (15:11 +0200)]
Merge remote-tracking branch 'origin/pr/35'

2 years agoMerge remote-tracking branch 'origin/pr/37'
Michael Prokop [Wed, 3 Jun 2020 13:05:05 +0000 (15:05 +0200)]
Merge remote-tracking branch 'origin/pr/37'

2 years agoCheck for boot flag before possibly creating FAT16 on the partition
Darshaka Pathirana [Wed, 3 Jun 2020 12:44:11 +0000 (14:44 +0200)]
Check for boot flag before possibly creating FAT16 on the partition

Checks should be performed before actually modifying the USB device,
if the user specified `--fat16` then the boot flag should be checked
*before* the FAT filesystem gets created.

check_for_fat(device) is called in handle_vfat(device) (if device is
present and not a directory and if option 'syslinux' (default) is set)
so it should be safe to remove check_for_fat(device) call in

The same applies to check_boot_flag() which should happen before
actually creating the FAT filesystem (in handle_vfat()).

Closes: grml/grml2usb#30

2 years agoReread partition table after installing MBR to ensure devices exist
Michael Prokop [Wed, 3 Jun 2020 11:45:54 +0000 (13:45 +0200)]
Reread partition table after installing MBR to ensure devices exist

We need to execute blockdev after installing the MBR, otherwise
the devices might not exist yet as expected and executing syslinux
can fail therefore.

While at it remove duplicate mbrtemplate python docstring in install_mbr

Closes: grml/grml2usb#33
Thanks: Darshaka Pathirana for debugging

2 years agoUse "boot flag" instead of "bootflag" also in docs + exceptions
Michael Prokop [Wed, 3 Jun 2020 11:36:04 +0000 (13:36 +0200)]
Use "boot flag" instead of "bootflag" also in docs + exceptions

Closes: grml/grml2usb#31

2 years agoMerge remote-tracking branch 'origin/pr/29'
Michael Prokop [Fri, 29 May 2020 16:08:19 +0000 (18:08 +0200)]
Merge remote-tracking branch 'origin/pr/29'

2 years agoDrop old bootflag detection + be more verbose about its execution
Michael Prokop [Thu, 28 May 2020 07:40:22 +0000 (09:40 +0200)]
Drop old bootflag detection + be more verbose about its execution

Our custom boot flag detection isn't reliable, so there's no
point in using it, instead let's rely on python3-parted only.

While at it, rename "bootflag" into "boot flag" in human readable

While at it, also be more verbose about the execution (esp. the
"sync" step takes a while and might look like something is

Thanks: Darshaka Pathirana for bug report and debugging
Closes: grml/grml2usb#19

2 years agoRelease new version 0.18.0 v0.18.0
Michael Prokop [Tue, 12 May 2020 15:17:26 +0000 (17:17 +0200)]
Release new version 0.18.0

2 years agoGet rid of docbook-xsl workaround regarding duplicate empty lines
Michael Prokop [Thu, 2 Apr 2020 16:34:14 +0000 (18:34 +0200)]
Get rid of docbook-xsl workaround regarding duplicate empty lines

This doesn't seem to be no longer a problem

2 years agodebian: switch to debhelper minimal style
Michael Prokop [Thu, 2 Apr 2020 15:26:18 +0000 (17:26 +0200)]
debian: switch to debhelper minimal style

2 years agoautopkgtests: drop python2 support and depend on python3 only
Michael Prokop [Thu, 2 Apr 2020 15:13:33 +0000 (17:13 +0200)]
autopkgtests: drop python2 support and depend on python3 only

The smoke-grml2usb-py3 test was referring to python2.
python2 is no longer supported within Debian, let's drop
support for it.

Closes: #936663

2 years agodebian: execute `wrap-and-sort -a -t -s`
Michael Prokop [Thu, 2 Apr 2020 15:12:11 +0000 (17:12 +0200)]
debian: execute `wrap-and-sort -a -t -s`

Let's get this properly sorted...

2 years agoBump Standards-Version to 4.5.0
Michael Prokop [Thu, 2 Apr 2020 15:11:54 +0000 (17:11 +0200)]
Bump Standards-Version to 4.5.0

2 years agocodecheck: rely on flake8, isort + black during build time
Michael Prokop [Thu, 2 Apr 2020 14:45:12 +0000 (16:45 +0200)]
codecheck: rely on flake8, isort + black during build time

Switch from pyflakes, pylint + pep8 to flake8, isort + black,
and include it in the default build target to get checks during
build time. Add relevant packages to Build-Depends.

Thanks: Florian Apolloner for the feedback

2 years agoCoding style: execute black + isort and fix undefined 'path'
Michael Prokop [Thu, 2 Apr 2020 14:40:47 +0000 (16:40 +0200)]
Coding style: execute black + isort and fix undefined 'path'

Avoid discussions around pep8, pylint etc, but instead
use what black(1) (see provides.


| grml2usb:299:39: F821 undefined name 'path'

2 years agoCoding style: fix pep8 + flake8 issues
Michael Prokop [Thu, 2 Apr 2020 13:45:54 +0000 (15:45 +0200)]
Coding style: fix pep8 + flake8 issues


| W605 invalid escape sequence '\s'

by using re.compile(r'...') instead of re.compile("...")


| E261 at least two spaces before inline comment

introduced in commit ed5b633be961ef6b3

Fix flake8 issues:

| grml2usb:409:5: F841 local variable 'e' is assigned to but never used
| grml2usb:557:34: W504 line break after binary operator
| grml2usb:559:34: W504 line break after binary operator
| grml2usb:737:37: W504 line break after binary operator
| grml2usb:1615:13: F841 local variable 'error' is assigned to but never used
| grml2usb:1641:9: F841 local variable 'error' is assigned to but never used
| grml2usb:1665:5: F841 local variable 'error' is assigned to but never used
| grml2usb:1826:30: W504 line break after binary operator
| grml2usb:1832:30: W504 line break after binary operator

The vs is strange,
though let's use what black(1) (see

2 years agoMerge remote-tracking branch 'origin/pr/26'
Michael Prokop [Wed, 4 Mar 2020 13:38:39 +0000 (14:38 +0100)]
Merge remote-tracking branch 'origin/pr/26'

2 years agoMerge remote-tracking branch 'origin/pr/27'
Michael Prokop [Mon, 2 Mar 2020 07:50:37 +0000 (08:50 +0100)]
Merge remote-tracking branch 'origin/pr/27'

2 years spaces in pattern for PROG_VERSION
Alexei Colin [Sun, 1 Mar 2020 00:39:21 +0000 (19:39 -0500)] spaces in pattern for PROG_VERSION

2 years agoFix duplicate Syslinux entries (2)
Tomáš Virtus [Wed, 19 Feb 2020 14:14:30 +0000 (15:14 +0100)]
Fix duplicate Syslinux entries (2)

Commit f0e3c936 changed open mode to "r+", but this mode does not create
missing files.

Revert open mode back to "a+" and add seek to beginning of the file.

2 years agoAdd mbr/ output files to gitignore
Tomáš Virtus [Wed, 19 Feb 2020 13:15:07 +0000 (14:15 +0100)]
Add mbr/ output files to gitignore

2 years agoFix duplicate Syslinux entries
Tomáš Virtus [Mon, 3 Feb 2020 12:31:27 +0000 (13:31 +0100)]
Fix duplicate Syslinux entries

Documentation of open()[1] says:

  Other common values ... and 'a' for appending (which on some Unix
  systems, means that all writes append to the end of the file
  regardless of the current seek position).

On my system (Linux 5.4), writes to a file opened as 'a+' go at the end.


2 years agoSupport more Syslinux module locations
Tomáš Virtus [Mon, 3 Feb 2020 11:44:35 +0000 (12:44 +0100)]
Support more Syslinux module locations

The current hardcoded directory of Syslinux modules,
/usr/lib/syslinux/modules/bios/, does not exist on ArchLinux. Since
modules are copied with copy_if_exist(), the installer doesn't notify
user when Syslinux modules are missing on the host. Furthermore, when
modules in Grml image are incompatible with Syslinux binary on the host,
the bootloader fails to load graphical menu as described in this bug:

  Undef symbol FAIL: x86_init_fpu
  Failed to load libcom32.c32
  Failed to load COM32 file vesamenu.c32

This change makes grml2usb look for more possible locations on the host
and adds --syslinux-libs option to add another location.

2 years agoFix Python 3 syntax warning (is vs ==)
Tomáš Virtus [Mon, 3 Feb 2020 11:01:42 +0000 (12:01 +0100)]
Fix Python 3 syntax warning (is vs ==)

Fixes the following warning:

  ./grml2usb:1691: SyntaxWarning: "is" with a literal. Did you mean "=="?
    if mbrcode is "":

3 years agoRelease new version 0.17.0 v0.17.0
Michael Prokop [Thu, 31 Oct 2019 11:00:25 +0000 (12:00 +0100)]
Release new version 0.17.0

3 years agocheck_for_fat(): use subprocess.check_output to avoid dependency on Python 3.7
Michael Prokop [Thu, 31 Oct 2019 10:46:55 +0000 (11:46 +0100)]
check_for_fat(): use subprocess.check_output to avoid dependency on Python 3.7

The text=... option for subprocess.Popen was added in Python 3.7 only
("text was added as a more readable alias for universal_newlines"), and
also "encoding" and "errors" were introduced in Python 3.6 only.
We don't want to stick to a specific py3k version, so let's try to
be as backwards compatible as possible.

Since we only need stdout of blkid let's switch to
subprocess.check_output instead.

Thanks: Florian Apolloner for review and feedback

3 years agoNo longer explicitly list addon files, instead copy all files from /boot/addons/
Michael Prokop [Wed, 30 Oct 2019 14:34:39 +0000 (15:34 +0100)]
No longer explicitly list addon files, instead copy all files from /boot/addons/

It's annoying to have to manually adjust the list of expected addons
whenever we add/remove files (like adding EFI-capable addon files,
what I'm currently working on). Especially since the grml2usb version
as present in Debian/Grml repositories might not match the Grml ISO
the user wants to use.

3 years agoProvide git-describe based version information when running from within git
Michael Prokop [Wed, 30 Oct 2019 14:34:34 +0000 (15:34 +0100)]
Provide git-describe based version information when running from within git

This is useful when executing grml2usb from inside grml2usb.git itself

Thanks: Florian Apolloner for review and feedback

3 years agoMerge remote-tracking branch 'origin/pr/25'
Michael Prokop [Thu, 31 Oct 2019 09:45:17 +0000 (10:45 +0100)]
Merge remote-tracking branch 'origin/pr/25'

3 years agoFix path to syslinux *.c32 files
Sven Joachim [Thu, 31 Oct 2019 08:55:15 +0000 (09:55 +0100)]
Fix path to syslinux *.c32 files

In syslinux version 6.00 their path has changed, and so grml2usb
failed to find the files, using the ones from the grml iso instead.
The result was that the bootloader and its files had mismatched
versions which could lead to errors on boot, see

Since syslinux 6.00 is already over six years old, I did not bother to
check for the *.c32 in the /usr/lib/syslinux/ directory.

3 years agoMerge remote-tracking branch 'origin/pr/24'
Michael Prokop [Wed, 30 Oct 2019 17:45:56 +0000 (18:45 +0100)]
Merge remote-tracking branch 'origin/pr/24'

3 years agocheck_boot_flag(): Open device in binary mode
Sven Joachim [Wed, 30 Oct 2019 16:35:03 +0000 (17:35 +0100)]
check_boot_flag(): Open device in binary mode

By default open() reads in text which is not going to fly for a boot

Fatal: 'utf-8' codec can't decode byte 0x90 in position 6: invalid start byte
Traceback (most recent call last):
  File "/usr/sbin/grml2usb", line 1913, in main
    install(iso, device)
  File "/usr/sbin/grml2usb", line 1626, in install
    install_grml(iso_mountpoint, device)
  File "/usr/sbin/grml2usb", line 1653, in install_grml
  File "/usr/sbin/grml2usb", line 393, in check_boot_flag
    data =
  File "/usr/lib/python3.7/", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in position 6: invalid start byte

3 years agocheck_for_fat: Avoid comparing strings and bytes
Sven Joachim [Wed, 30 Oct 2019 16:28:07 +0000 (17:28 +0100)]
check_for_fat: Avoid comparing strings and bytes

By default opens file objects in binary mode, so the
"filesystem" variable is an array of bytes, and comparing it to a
string always yields false.  Fix that by explicitly opening the stream
in text mode.

3 years agoRelease new version 0.16.7 v0.16.7
Michael Prokop [Tue, 22 Oct 2019 13:18:27 +0000 (15:18 +0200)]
Release new version 0.16.7

3 years agoDrop debian/compat and switch to debhelper-compat instead
Michael Prokop [Tue, 22 Oct 2019 13:16:07 +0000 (15:16 +0200)]
Drop debian/compat and switch to debhelper-compat instead

Fixes lintian warning package-uses-old-debhelper-compat-version

3 years agoBump Standards-Version to 4.4.1
Michael Prokop [Tue, 22 Oct 2019 13:13:24 +0000 (15:13 +0200)]
Bump Standards-Version to 4.4.1

3 years agoMerge remote-tracking branch 'origin/pr/23'
Michael Prokop [Tue, 15 Oct 2019 12:58:08 +0000 (14:58 +0200)]
Merge remote-tracking branch 'origin/pr/23'

3 years agoMerge remote-tracking branch 'origin/pr/22'
Michael Prokop [Tue, 15 Oct 2019 12:58:05 +0000 (14:58 +0200)]
Merge remote-tracking branch 'origin/pr/22'

3 years agoAvoid subprocess.Popen with stdout/stderr=PIPE and wait() usage
Michael Prokop [Tue, 15 Oct 2019 10:07:07 +0000 (12:07 +0200)]
Avoid subprocess.Popen with stdout/stderr=PIPE and wait() usage

Quoting from

| Popen.wait()
|   Wait for child process to terminate. Set and return returncode attribute.
|   Warning
|   This will deadlock when using stdout=PIPE and/or stderr=PIPE and the child
|   process generates enough output to a pipe such that it blocks waiting for the
|   OS pipe buffer to accept more data. Use communicate() to avoid that.

While modprobe isn't expected to ever output enough output to be
relevant, let's better be safe than sorry.

While at it fix typo (it's -> its)

Closes grml/grml2usb#21

3 years agoPort to py3k mika/py3k
Michael Prokop [Tue, 15 Oct 2019 08:28:47 +0000 (10:28 +0200)]
Port to py3k

Quoting from #936663:

Python2 becomes end-of-live upstream, and Debian aims to remove
Python2 from the distribution, as discussed in

Closes: #936663

3 years agoMerge remote-tracking branch 'origin/pr/20'
Michael Prokop [Tue, 15 Oct 2019 08:24:47 +0000 (10:24 +0200)]
Merge remote-tracking branch 'origin/pr/20'

3 years agogrml2usb: add python3 test variant
Chris Hofstaedtler [Sat, 31 Aug 2019 13:17:22 +0000 (13:17 +0000)]
grml2usb: add python3 test variant

3 years agogrml2usb: Add smoke autopkgtest for python2
Chris Hofstaedtler [Sat, 31 Aug 2019 10:41:47 +0000 (10:41 +0000)]
grml2usb: Add smoke autopkgtest for python2

Adds an autopkgtest for the python2 variant of grml2usb -- currently
the only variant. The test unfortunately needs to be run inside a full
machine isolation context, e.g. autopkgtest-virt-qemu.

This builds a minimal stub ISO and does not attempt to test full

3 years agogrml2usb: print backtrace when --verbose is given
Chris Hofstaedtler [Sat, 31 Aug 2019 13:11:30 +0000 (13:11 +0000)]
grml2usb: print backtrace when --verbose is given

Useful for debugging.

3 years agogrml2usb: abort if required logo.16 file is missing
Chris Hofstaedtler [Sat, 31 Aug 2019 13:10:52 +0000 (13:10 +0000)]
grml2usb: abort if required logo.16 file is missing

Instead of crashing with a type coercion error in popen (because
the logo file is None, then).

3 years agoRelease new version 0.16.6 v0.16.6
Michael Prokop [Thu, 11 Jul 2019 15:26:40 +0000 (17:26 +0200)]
Release new version 0.16.6

3 years agoAvoid custom boot options getting duplicated when used with multiple ISOs
Michael Prokop [Tue, 4 Jun 2019 08:39:28 +0000 (10:39 +0200)]
Avoid custom boot options getting duplicated when used with multiple ISOs

grml2usb can be invoked with multiple ISOs *and* custom boot options, like:

  % sudo grml2usb --bootoption="ssh=foobar mikawashere" grml32-small_2018.12.iso grml64-small_2018.12.iso /dev/sdb1

Then grml2usb appends the custom boot options in the GRUB
(boot/grub/*.cfg) + isolinux/syslinux (boot/syslinux/*.cfg)
configuration files of files that have been installed by the underlying
grml32-small ISO.

But when hitting the grml64-small ISO then, it continues to replace the
files with the boot options once again. Therefore we end up with
duplicate boot options in the grml32-small_2018.12.iso specific files
(boot/grub/grml32small_default.cfg, boot/grub/grml32small_options.cfg,
boot/syslinux/grml32_small_default.cfg, boot/syslinux/grml32_small_grml.cfg +

We could actually ensure to only touch the ISO specific files, but
we don't have version information included in the file names and also
have shared files like boot/syslinux/hidden.cfg, so this might unexpected
side effects as well. So instead let's explicitly check for the provided
custom boot options.

Notes regarding the implementation:

* If boot options are whitespace-only or empty, nothing will happen. This
  prevents str.replace to do unintended things.

* otherwise consider string "PRE some-boot-options POST". Then we should find
  'some-boot-options' and remove them. Why the delimiter handling? Consider
  some-boot-options is 'ssh'. If we replace line.replace(bootopt, '') then some
  fictitious boot option like 'service.ssh=autostart' would be broken. Thus the
  space delimiters are necessary.

* However, the space delimiters might not exist if the boot options occur at the
  end of the string. Thus special handling is required for this case.

Thanks: Ralf Moll for the bug report and Lukas Prokop for providing the bug fix

3 years agoRelease new version 0.16.5 v0.16.5
Michael Prokop [Thu, 21 Mar 2019 11:24:14 +0000 (12:24 +0100)]
Release new version 0.16.5

3 years agoSwitch default mount point from /lib/live/mount/medium to /run/live/medium
Michael Prokop [Thu, 21 Mar 2019 09:14:48 +0000 (10:14 +0100)]
Switch default mount point from /lib/live/mount/medium to /run/live/medium

In commit 0d878d3a679 of live-boot(-grml)
("Simplify mount point handling by using /run/live instead of /lib/live/mount")
the mountpath of /lib/live/mount/medium was moved towards /run/live/medium.

Commit c6a17c7b41b of live-boot(-grml) provides a backward compatibility
rbind mount, but occasionally there seems to be a regression somewhere
during boot (see, and
the rbind mount will be deprecated and removed before the bullseye
(Debian 11) release.

Layout changes over time:

* /cdrom for old linuxrc approach
* /live/image for initramfs layout until December 2012
* /lib/live/mount/medium for initramfs layout since December 2012
* /run/live/medium for initramfs layout since December 2018

3 years agoRelease new version 0.16.4 v0.16.4
Michael Prokop [Thu, 28 Feb 2019 15:02:58 +0000 (16:02 +0100)]
Release new version 0.16.4

3 years agogrml2iso: update ISO filename in usage example
Michael Prokop [Thu, 28 Feb 2019 15:00:45 +0000 (16:00 +0100)]
grml2iso: update ISO filename in usage example

3 years agoUpdate copyright year information
Michael Prokop [Thu, 28 Feb 2019 15:00:08 +0000 (16:00 +0100)]
Update copyright year information

3 years agodocs: update ISO filenames, referring to a more recent stable version
Michael Prokop [Thu, 28 Feb 2019 14:58:56 +0000 (15:58 +0100)]
docs: update ISO filenames, referring to a more recent stable version

3 years agoForce usage with python2
Michael Prokop [Thu, 28 Feb 2019 14:49:19 +0000 (15:49 +0100)]
Force usage with python2

grml2usb isn't py3k-ready yet, so until we're there
ensure we don't run under python3, even by accident.

Closes: #921327

3 years agoRelease new version 0.16.3 v0.16.3
Michael Prokop [Wed, 20 Feb 2019 15:35:25 +0000 (16:35 +0100)]
Release new version 0.16.3

3 years agoNo longer depend on coreutils or realpath
Michael Prokop [Wed, 20 Feb 2019 14:59:46 +0000 (15:59 +0100)]
No longer depend on coreutils or realpath

The transition of realpath to coreutils happened for the jessie release,
so it shouldn't be necessary any longer.

Closes: #877554
Thanks: Michael Stone for the bug report

3 years agoDepend on either syslinux or grub2-common + grub-pc-bin
Michael Prokop [Wed, 20 Feb 2019 14:52:21 +0000 (15:52 +0100)]
Depend on either syslinux or grub2-common + grub-pc-bin

grml2usb depends on grub-pc(-bin) files and grub2-common's grub-install,
but if someone has grub-efi-amd64 installed, then the grub-pc(-bin)
files are missing. The grub-efi-amd64 package shouldn't matter at all,
since we explicitly run grub with `--target=i386-pc`. Adjust depends

Closes: #796801
Thanks: Albert Dengg for bugreport and suggested solution + Axel Beckert for assistance in getting a proper dependency resolution

3 years agoBump Standards-Version to 4.3.0
Michael Prokop [Wed, 20 Feb 2019 14:52:14 +0000 (15:52 +0100)]
Bump Standards-Version to 4.3.0

4 years agoRelease new version 0.16.2 v0.16.2
Michael Prokop [Thu, 15 Nov 2018 09:03:38 +0000 (10:03 +0100)]
Release new version 0.16.2

4 years agoSwitch Homepage header from http to https
Michael Prokop [Thu, 15 Nov 2018 09:01:14 +0000 (10:01 +0100)]
Switch Homepage header from http to https

4 years agoBump Standards-Version to 4.2.1
Michael Prokop [Thu, 15 Nov 2018 09:01:06 +0000 (10:01 +0100)]
Bump Standards-Version to 4.2.1

4 years agoMake recent versions of pep8 happy
Michael Prokop [Fri, 1 Jun 2018 14:08:57 +0000 (16:08 +0200)]
Make recent versions of pep8 happy


| grml2usb:71:1: E305 expected 2 blank lines after class or function definition, found 1

as reported by pep8 v2.2.0 (though not yet with v1.6.2)
in our source-test job on Jenkins.

4 years agoMerge remote-tracking branch 'origin/pr/16'
Michael Prokop [Fri, 25 May 2018 18:39:40 +0000 (20:39 +0200)]
Merge remote-tracking branch 'origin/pr/16'

4 years agoRelease new version 0.16.1 v0.16.1
Michael Prokop [Fri, 25 May 2018 11:55:29 +0000 (13:55 +0200)]
Release new version 0.16.1

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

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

s/been been/been/

5 years agoRelease new version 0.16.0 v0.16.0
Michael Prokop [Thu, 7 Sep 2017 07:41:51 +0000 (09:41 +0200)]
Release new version 0.16.0

5 years agoProvide Secure Boot support
Michael Prokop [Thu, 7 Sep 2017 07:38:14 +0000 (09:38 +0200)]
Provide Secure Boot support

This is pretty nice since we can support Secure Boot
straight without any further/extra command line options.
If the ISO doesn't ship the files we expect to be there
then we don't need any special handling either, so we're
fully backwards and forwards compatible so far.

Note: only supported with Grml ISOs generated with grml-live >=0.31.0

5 years agoRelease new version 0.15.4 v0.15.4
Michael Prokop [Thu, 17 Aug 2017 12:51:00 +0000 (14:51 +0200)]
Release new version 0.15.4

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

5 years agoPython3: Some improvements to increase support
joeran [Tue, 18 Jul 2017 19:27:10 +0000 (21:27 +0200)]
Python3: Some improvements to increase support

Hopefully python2 is still supported...

5 years agoRelease new version 0.15.3 v0.15.3
Michael Prokop [Wed, 31 May 2017 09:28:59 +0000 (11:28 +0200)]
Release new version 0.15.3

5 years agoEnsure that grub-install doesn't receive emtpy command line argument
Michael Prokop [Wed, 31 May 2017 09:20:26 +0000 (11:20 +0200)]
Ensure that grub-install doesn't receive emtpy command line argument

We run grub-install once without --force and if that fails
try rerunning with --force. On the first run we pass an
empty argument though that grub-install assumes as install
device and fails with:

  /usr/sbin/grub-install: error: More than one install device?.

By using "--" as option to signify the end of command line
options we avoid this failure in the run without passing the
--force option.

5 years agoOption --rw-blockdev: set r/w also in GRUB specific steps
Michael Prokop [Wed, 31 May 2017 09:19:49 +0000 (11:19 +0200)]
Option --rw-blockdev: set r/w also in GRUB specific steps

Thanks: Ralf Moll

5 years agoRelease new version 0.15.2 v0.15.2
Michael Prokop [Fri, 26 May 2017 21:34:46 +0000 (23:34 +0200)]
Release new version 0.15.2

5 years agoSupport addon
Michael Prokop [Fri, 26 May 2017 21:32:17 +0000 (23:32 +0200)]
Support addon

For the grml96 flavours we use grml2iso, which itself
relies on grml2usb for copying the relevant files.
With the addition of the file we

Actually it would be nice to copy any present addon
from /boot/addons/, but close to the new stable Grml
release let's keep the change as small as possible.

Thanks: Michael Schierl for reporting the bug
Closes grml/grml#25

5 years agoRelease new version 0.15.1 v0.15.1
Michael Prokop [Wed, 24 May 2017 13:48:04 +0000 (15:48 +0200)]
Release new version 0.15.1

5 years agoOption --rw-blockdev: ensure to set device to rw between grub-install runs + don...
Michael Prokop [Wed, 24 May 2017 13:31:21 +0000 (15:31 +0200)]
Option --rw-blockdev: ensure to set device to rw between grub-install runs + don't set rw on source

If we're invoking set_rw on the source device this probably
points to the source ISO which will fail.

On the other side we invoke grub-intall with and without --force
in a loop and have to unblock the underlying block device in
between as well, otherwise failing to install.

5 years agoDon't fail hard if installing on partition number >4, instead warn user [Closes:...
Michael Prokop [Fri, 19 May 2017 14:49:54 +0000 (16:49 +0200)]
Don't fail hard if installing on partition number >4, instead warn user [Closes: issue1353]

5 years agoRelease new version 0.15.0 v0.15.0
Michael Prokop [Thu, 13 Apr 2017 21:57:37 +0000 (23:57 +0200)]
Release new version 0.15.0

5 years agoSupport --rw-blockdev option for usage with read-only/forensic like devices
Michael Prokop [Thu, 13 Apr 2017 21:47:47 +0000 (23:47 +0200)]
Support --rw-blockdev option for usage with read-only/forensic like devices

If the system is running in a read-only mode for devices and
setting devices to read-only when they appear (e.g. partition
table scans) then we need to explictely set read-write mode
on the involved devices (e.g. /dev/sdx + /dev/sdx2 if /dev/sd2
is the target partition).

Be aware that you might have to use the --skip-bootflag option
as well then, because this option triggers parted code which
is behaving bad with read-only devices.

5 years agoRelease new version 0.14.14 v0.14.14
Michael Prokop [Tue, 24 Jan 2017 20:48:01 +0000 (21:48 +0100)]
Release new version 0.14.14

5 years agoCorrect duplicate word in previous changelog entry
Christian Hofstaedtler [Sun, 18 Dec 2016 18:29:08 +0000 (18:29 +0000)]
Correct duplicate word in previous changelog entry

5 years agoUse https URL in Vcs-Browser
Christian Hofstaedtler [Sun, 18 Dec 2016 18:27:15 +0000 (18:27 +0000)]
Use https URL in Vcs-Browser

5 years agoBump debhelper compat level to 10
Christian Hofstaedtler [Sun, 18 Dec 2016 18:27:03 +0000 (18:27 +0000)]
Bump debhelper compat level to 10

5 years agoBump Standards-Version to 3.9.8 (no changes needed)
Christian Hofstaedtler [Sun, 18 Dec 2016 18:26:47 +0000 (18:26 +0000)]
Bump Standards-Version to 3.9.8 (no changes needed)

5 years agoUpdate my email address
Christian Hofstaedtler [Sun, 18 Dec 2016 18:26:11 +0000 (18:26 +0000)]
Update my email address

6 years agoCoding style fixes to make pep8 happy
Michael Prokop [Tue, 29 Nov 2016 13:34:29 +0000 (14:34 +0100)]
Coding style fixes to make pep8 happy

pep8 version 1.6.2-0.1~bpo8+1

7 years agoRelease new version 0.14.13 v0.14.13
Michael Prokop [Mon, 28 Sep 2015 16:24:08 +0000 (18:24 +0200)]
Release new version 0.14.13

7 years agoCatch parted returning None as the searched partition
Evgeni Golov [Mon, 28 Sep 2015 15:37:06 +0000 (17:37 +0200)]
Catch parted returning None as the searched partition

Certain USB devices aren't handled correctly by
python-parted. As soon as the USB devices are
filled/rewritten with zeros (dd if=/dev/zero of=/dev/sdX)
they are recognized properly. The underlying issue
couldn't be identified yet, but since we know what
we get let's just fall back to the old boot device
detection and print an according warning message.

Thanks: to mika and Haudegen for debugging
Closes: #766964

7 years agoRelease new version 0.14.12 v0.14.12
Michael Prokop [Fri, 5 Jun 2015 23:42:40 +0000 (01:42 +0200)]
Release new version 0.14.12

7 years agoRealpath is provided by recent coreutils versions, adjust Depends
Michael Prokop [Mon, 23 Mar 2015 07:58:04 +0000 (08:58 +0100)]
Realpath is provided by recent coreutils versions, adjust Depends

Closes: #780948
Thanks: Ben Finney <> for reporting

7 years agoFix typo
Lukas Prokop [Wed, 25 Feb 2015 10:39:22 +0000 (11:39 +0100)]
Fix typo

7 years agoRelease new version 0.14.11 v0.14.11
Michael Prokop [Thu, 26 Feb 2015 13:35:35 +0000 (14:35 +0100)]
Release new version 0.14.11

7 years agoDocument --skip-usb-check option
Michael Prokop [Thu, 26 Feb 2015 13:33:55 +0000 (14:33 +0100)]
Document --skip-usb-check option

7 years agoSupport usage of grml2usb on EFI systems
Michael Prokop [Wed, 25 Feb 2015 13:41:32 +0000 (14:41 +0100)]
Support usage of grml2usb on EFI systems

Closes: #768906

7 years agoDisable usage of --copy-only and --grub at the same time
Lukas Prokop [Wed, 25 Feb 2015 10:18:58 +0000 (11:18 +0100)]
Disable usage of --copy-only and --grub at the same time

7 years agoAdd syslinux-utils to Recommends + adjust error message for isohybrid
Michael Prokop [Wed, 25 Feb 2015 13:24:58 +0000 (14:24 +0100)]
Add syslinux-utils to Recommends + adjust error message for isohybrid

isohybrid was moved from isolinux to syslinux-utils in Debian/jessie,
see #751724

7 years agoSync filesystems before returning from MBR installation
Michael Prokop [Wed, 25 Feb 2015 11:28:57 +0000 (12:28 +0100)]
Sync filesystems before returning from MBR installation

We need to make sure the device/filesystem is synced, otherwise
syslinux installation might fail with:

| [...]
| Installing default MBR
| Installing syslinux as bootloader
| syslinux: /dev/sdb1: No such file or directory
| Fatal: Error executing syslinux (either try --fat16 or use grub?)

fsync-ing via dd isn't enough, so we need to make it
a full sync.

Closes: #779193

7 years agoAdjust sorting of cmdline options
Michael Prokop [Wed, 25 Feb 2015 10:26:43 +0000 (11:26 +0100)]
Adjust sorting of cmdline options