Bug #14809

Tails does not boot from USB when installed with Tails Installer on recent Debian testing/sid system

Added by intrigeri 2017-10-07 11:52:40 . Updated 2017-11-15 11:33:44 .

Status:
Resolved
Priority:
Elevated
Assignee:
Category:
Installation
Target version:
Start date:
2017-10-07
Due date:
% Done:

100%

Feature Branch:
bugfix/14809-partition-type-and-flags-with-recent-udisks, installer:bugfix/14809-partition-type-and-flags-with-recent-udisks
Type of work:
Research
Blueprint:

Starter:
Affected tool:
Installer
Deliverable for:

Description

If I select that device on a ThinkPad T430 with EFI disabled and press enter, then I see a black screen for 2 seconds and then I’m back to the BIOS’ boot menu. Reproduced both with a device installed from ISO with Tails Installer 5.0.1+dfsg-0tails1 on Debian sid, and with one cloned from a running Tails/Buster DVD.

The system partition hasn’t the correct type, it’s not an ESP and is not flagged “legacy BIOS bootable”. Looks like the recent udisks2 updates broke our stuff.


Subtasks


Related issues

Related to Tails - Bug #14813: Document that Tails does not boot from USB when installed with Tails Installer on recent Debian testing/sid system Rejected 2017-10-09

History

#1 Updated by intrigeri 2017-10-07 14:23:39

  • Subject changed from Device cloned from Tails Buster does not boot to Tails does not boot from USB when installed with Tails Installer on recent Debian testing/sid system
  • Description updated
  • Target version changed from Tails_4.0 to Tails_3.3

#2 Updated by intrigeri 2017-10-07 16:57:40

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10

Next steps:

  1. test that the part of my fix that lives in tails-installer passes our test suite on Stretch (and Buster?)
  2. report bug + PR against udisks2 upstream
  3. report bug + PR against libblockdev upstream
  4. report RC bug against tails-installer in Debian, blocked by:
  5. report bug + patch against udisks2 in Debian, blocked by:
  6. report bug + patch against libblockdev in Debian
  7. debug, or report bug about, setting partition flags resetting the partition type (workaround’ed in Tails Installer, not sure where the root cause is, should test from the lower-level — sgdisk — up to libblockdev and udisks2)
  8. add this to our Known Issues page?

#3 Updated by intrigeri 2017-10-08 08:12:08

  • Feature Branch set to bugfix/14809-partition-type-and-flags-with-recent-udisks, installer:bugfix/14809-partition-type-and-flags-with-recent-udisks

#4 Updated by intrigeri 2017-10-08 09:40:09

Note to future reviewer:

  • in installer.git
    • merge bugfix/14809-partition-type-and-flags-with-recent-udisks into master
    • merge debian_bugfix/14809-partition-type-and-flags-with-recent-udisks into tails/master
  • in tails.git
    • merge bugfix/14809-partition-type-and-flags-with-recent-udisks into stable
    • merge stable into devel
    • merge devel into feature/buster
    • merge bugfix/14809-partition-type-and-flags-with-recent-udisks-buster into feature/buster

Note to doc writers:

  • before this is merged:
    • Devices installed from a released Tails, or from Debian Stretch, should boot fine.
    • Devices installed from a recent Debian testing/sid can boot neither in legacy BIOS nor UEFI mode.
  • after this is merged:
    • Devices installed from a released Tails should still work as they used to.
    • With the updated Tails Installer, UEFI boot should be fixed when installing Tails from a recent Debian testing/sid.
    • Legacy BIOS boot should be fixed as well on devices installed from Tails/Buster.
    • Legacy BIOS boot is still broken when installing Tails from recent Debian testing/sid, until my fixes to libblockdev and udisks make it in Debian.
  • once my fixes to libblockdev and udisks make it in Debian testing, everything we support should work again

#5 Updated by intrigeri 2017-10-09 04:49:19

  • related to Bug #14813: Document that Tails does not boot from USB when installed with Tails Installer on recent Debian testing/sid system added

#6 Updated by intrigeri 2017-10-09 04:55:03

  • Assignee changed from intrigeri to anonym
  • % Done changed from 10 to 50
  • QA Check set to Ready for QA

intrigeri wrote:
> Next steps:
>
> # test that the part of my fix that lives in tails-installer passes our test suite on Stretch (and Buster?)

Done.

> # report bug + PR against udisks2 upstream

https://github.com/storaged-project/udisks/issues/415 and https://github.com/storaged-project/udisks/pull/416

> # report bug + PR against libblockdev upstream

https://github.com/storaged-project/libblockdev/issues/287 and https://github.com/storaged-project/libblockdev/pull/288

> # report RC bug against tails-installer in Debian, blocked by:

https://bugs.debian.org/878040

> # report bug + patch against udisks2 in Debian, blocked by:
> # report bug + patch against libblockdev in Debian

I’ll skip those: today they feel like useless paperwork.

> # debug, or report bug about, setting partition flags resetting the partition type (workaround’ed in Tails Installer, not sure where the root cause is, should test from the lower-level — sgdisk — up to libblockdev and udisks2)

I’ll do that right now for the sake of reporting issues upstream but this won’t have any practical impact for us right now so it should not block the merge. The only other benefit is that once this is fixed in all versions of Debian/Ubuntu/Mint/etc. we want to support (i.e. in a few years), we can drop our call to system_partition.call_set_type_sync(ESP_GUID, GLib.Variant('a{sv}', None)): recent udisks2 sets the partition type correctly when we call partition_table.call_create_partition_sync.

> # add this to our Known Issues page?

This is now tracked on Bug #14813.

According to Jenkins my branch does not break Tails 3.x and repairs USB installation on Tails/Buster. Please review and merge as documented above :)

#7 Updated by intrigeri 2017-10-09 09:08:50

Added an integration test on https://github.com/storaged-project/udisks/pull/416 + reported https://github.com/storaged-project/udisks/issues/418 (with an integration test too). I think I’m done here.

#8 Updated by anonym 2017-10-09 11:01:09

  • Code review passes (tails + installer).
  • Upstream patches LGTM (but I only looked very briefly).
  • There was a successful Test suite run based on stable.
  • For feature/buster with the fix applied I’ve seen the test suite being able to boot a Tails installed to a USB drive.

=> merging!

#9 Updated by anonym 2017-10-09 11:09:06

  • Status changed from In Progress to Fix committed
  • % Done changed from 50 to 100

Applied in changeset commit:2b7329410690b90ef10f89ec97e5a54778bbb1f5.

#10 Updated by anonym 2017-10-11 08:42:01

  • Assignee deleted (anonym)
  • QA Check changed from Ready for QA to Pass

#11 Updated by anonym 2017-11-15 11:33:44

  • Status changed from Fix committed to Resolved