[[!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]]
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]].
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]]