summaryrefslogtreecommitdiffstats
path: root/wiki/src/blueprint/usb_install_and_upgrade.mdwn
blob: 42045fea4694d15b4e9ac226fd2eb82d366ef27f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[[!meta title="USB install and upgrade"]]

We [[!tails_ticket 11679 desc="started a process"]] of rethinking
Tails installation and upgrade process, identifying changes we can do
relatively quickly and that have a good cost/benefit ratio, and
thinking about long-term solutions.

[[!toc levels=3]]

<a id="problems"></a>

Problems identified in Tails installation & upgrade process
===========================================================

Tags
----

Problems below are tagged this way:

* `[fixed-by-disk-image]`: would be solved by distributing
  a [[USB image|usb_install_and_upgrade/bootable USB disk image]]
  ([[!tails_ticket 15292]])
* `[fixed-by-1-big-iuk]`: would solved by a smallish change to our
  upgrade system that would allow users to automatically upgrade
  through a whole Tails series such as 3.x (this idea is also known as
  "IUKs on steroids", "1 big IUK", "endless upgrades"), i.e.
  [[!tails_ticket 15281]] and
  [[Endless_upgrades#single-squashfs-diff]]

Installation process
--------------------

* Installation on macOS, Windows and non-Debian Linux is complicated
  and time intensive. [fixed-by-disk-image]
* When creating an intermediary Tails, the resulting USB fails to boot
  on many (U)EFI systems ([[!tails_ticket 12146]]). [fixed-by-disk-image]
* Users have to follow different processes on different
  operating systems. [fixed-by-disk-image]
* Relying on 3rd party software for the initial USB installation
  is painful. [fixed-by-disk-image]
* Users have to first understand a complex mental model in which they
  download an ISO image, have to use an installation program and create
  some kind of "magic USB" key.
* Users need to turn off [[UEFI Secure Boot]] to start Tails.
* Supporting Tails Installer in Debian (code, doc, etc.) is costly.
* There's a mess around what device is considered "removable":
  we have slightly different definitions in various places.

Upgrade process
---------------

* Regular Tails users need to go through manual upgrades twice a year.
  [fixed-by-1-big-iuk]
* It's currently not possible to autoupgrade from an older Tails
  version, i.e. It's impossible to autoupgrade from Tails 3.1 to Tails
  3.5. [fixed-by-1-big-iuk]
* IUK size is not efficient. Users have to download a big blob of data
  which can be very long over Tor.
* On upgrade failure our recovery handling is poor.
* Upon upgrades our user experience is poor.
* Manual upgrades are very complicated.
* Sometimes manual upgrades are required.
* Our upgrade system has never been audited yet.
* Because we instruct people not to use `apt upgrade` they have to wait
  for us to release bugfixes, and these are often made too late after
  the release.

Envisioned solutions to the problems that are not `fixed-by-1-big-iuk`:
[[!tails_ticket 15279]], [[!tails_ticket 15282]],
[[!tails_ticket 7499]].

<a id="roadmap"></a>

Roadmap
=======

* improving upgrade UX: [[!tails_ticket 15281]] and
  [[Endless_upgrades#single-squashfs-diff]]
* improve installation UX, by shipping a disk image that can
  be dd'ed to a USB stick and produce a _final Tails_:
  [[USB image|usb_install_and_upgrade/usb_bootable_disk_image]]
  ([[!tails_ticket 15292]])
* come back to the upgrade topic later ([[!tails_ticket 15277]])

Resources
=========

* [[notes about UEFI|UEFI]]
* [[notes about GPT|usb_install_and_upgrade/gpt]]
* USB installation [[specification and design|contribute/design/installation]]
* archived [[roundup of existing tools|usb_install_and_upgrade/archive]]