Tails Installer should not run update_system_partition_properties on MBR partitions
Originally created by @sajolida on #7716 (Redmine)
From WhisperBack report 4d062594b54740b1f53a3a64c4c7032d.
While doing an “Upgrade from ISO”, someone got the following trace:
tails-i386-1.1.iso selected
Unmounting mounted filesystems on '/dev/sdd1'
[...]
Updating properties of system partition /dev/sdd1
Error modifying partition: helper exited with exit code 1: In part_change_partition: device_file=/dev/sdd, start=31744, new_start=31744, new_size=3929335808, type=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX
Entering MS-DOS parser (offset=0, size=3930062848)
MSDOS_MAGIC found
looking at part 0 (offset 31744, size 3929335808, type 0x0c)
new part entry
looking at part 1 (offset 0, size 0, type 0x00)
new part entry
looking at part 2 (offset 0, size 0, type 0x00)
new part entry
looking at part 3 (offset 0, size 0, type 0x00)
new part entry
Exiting MS-DOS parser
MSDOS partition table detected
containing partition table scheme = 0
invalid type 'XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX' given
It seems like they have a MBR partition table, which means that the
device was not installed with Tails Installer, but most likely with the
UUI. It seems that Tails Installer (when doing any kind of upgrade)
should check what partition table the destination device has, and only
run update_system_partition_properties()
if that’s a GPT.
The code lives in https://git-tails.immerda.ch/liveusb-creator. We already have helpers to talk to udisks there, and likely the needed info is already available in some object attribute.
That’s a regression in 1.1, maybe not a blocker for 1.1.1.