Document how to migrate persistence to a new USB stick or update the system partitions of an existing device
We will have to document this if we decide to either:
- Encourage people to migrate to a larger system partition (after #12705 (closed)).
- Change the layout of the USB stick in a way that’s incompatible with the previous layout (maybe as part of #11679 (closed)).
This also relates to backups (#5301).
As part of some research I did for #12706 (closed), I drafted what steps it would take to do such a migrate, both:
- A. To a new USB stick (“I was stuck with a smallish USB stick, now they are cheaper and it’s a good time to change.”).
- B. On the same USB stick (“I bought a very big and fancy USB stick for my Tails and want to make the most out of it!”).
The copy of the content of the persistence itself could be based on /doc/first_steps/persistence/copy, though it has a few issues and relies on the command line for everybody.
We should advertise A as slightly easier than B (one copy of persistent files instead of two).
- Proactive users
These are the steps for people who might have to do this migration outside of a manual upgrade process.
- A. Buy a new and bigger USB stick
- 1. Clone old on new
- 2. Restart on new
- 3. Configure persistence on new
- 4. Restart on new
- 5. Rescue files from old (fix perms on the terminal)
- B. Extend the system partition on the same USB stick
- 1. Clone old on intermediary
- 2. Restart on intermediary
- Intermediary must have enough space for all persistent data!
- 3. Configure persistence on intermediary
- 4. Restart on intermediary
- 5. Copy files to intermediary
- 6. Clone intermediary on old
- 7. Restart on old
- 8. Configure persistence on old
- 9. Restart on old
- 10. Rescue files from intermediary (fix perms on the terminal)
- Reactive users
These are the steps for people who might be doing such a migration as part of a manual upgrade. Tails Installer could detect that the destination USB stick has an old layout and advertise the migration during step #6 of /upgrade/tails (“Upgrade by cloning”). Actually, before people do the actual upgrade and replace it with:
- A. Buy a new and bigger USB stick (the same as for “proactive”
actually…)
- 1. Clone intermediary on new
- 2. Restart on new
- 3. Configure persistence on new
- 4. Restart on new
- 5. Copy files to new (fix perms on the terminal)
- B. Extend the system partition on the same USB stick (pretty much
the same as for “proactive” starting on step 3)
- 3. Configure persistence on intermediary
- Intermediary must have enough space for all persistent data!
- 4. Restart on intermediary
- 5. Copy files to intermediary
- 6. Clone intermediary on old
- 7. Restart on old
- 8. Configure persistence on old
- 9. Restart on old
- 10. Rescue files from intermediary (fix perms on the terminal)
- 3. Configure persistence on intermediary
I don’t think it’s realistic to have detailed instructions for all this but it would be good to explain the workflow of each scenario. To make things a bit simpler we could try to have both the “proactive” and “reactive” scenarios on a single page (“/upgrade/system_partition”? “/upgrade/migrate”?) and point /upgrade/tails to them.
We should also take into account what people doing /upgrade/clone would experience.
Related issues
- Related to #5301
- Related to #12706 (closed)
- Related to #11679 (closed)
- Related to #12214 (closed)
- Related to #15292 (closed)
- Is duplicate of #14605 (closed)
- Blocks #15941 (closed)
Original created by @sajolida on 14624 (Redmine)