Commit b810dcab authored by Tails developers's avatar Tails developers

Add blueprint for Installer

parent be81ed06
[[!meta title="Scenarios for Tails Installer"]]
Improvements
------------
- Remove the splash screen:
- Outside of Tails
- In Tails, if we add a "Clone" button to the main interface
- Implement "Install from ISO".
- Autodetect if the destination key has Tails already.
- Then display "Install" and "Upgrade" buttons accordingly.
- Make it possible to do "Install from ISO" and "Upgrade from ISO" from
the command line.
- Rework wordings on main interface.
- Add visual and textual context to main interface.
- Point to website to download ISO if outside of Tails.
- Add second button "Upgrade" below or side-by-side with "Install"
button.
- Add a splash about creating persistence after rebooting.
Bonus:
- Store version of Tails on destination key after install and upgrade.
- This would allow to display version in "Target Device".
Upgrade scenarios
-----------------
The following diagram shows all possible upgrade scenarios given a
running Tails (origin), an ISO image, and a destination Tails.
[[!img upgrade_scenarios.png]]
- **Upgrade from ISO** and **Clone** are what we already have.
- **Hot upgrade** should be the ideal scenario for full upgrades, that
would then be conducted like IUK.
- **Hot clone** could be a fallback scenario for full upgrades in case
you can't download a full ISO. Still, as any clone operation, this
introduces the possibility of cross contamination between Tails keys
and should be discouraged in favor of hot upgrade.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="391.06287"
height="271.73157"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="upgrade_scenarios.svg"
inkscape:export-filename="/home/amnesia/Persistent/master/wiki/src/blueprint/bootstrapping_workflow/installer/upgrade_scenarios.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible">
<path
id="path3771"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3771-6"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart-1"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3771-1"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart-4"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3771-8"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3771-2"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart-6"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3771-13"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="244.63057"
inkscape:cy="136.21405"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="10"
fit-margin-left="10"
fit-margin-right="10"
fit-margin-bottom="10"
inkscape:window-width="1280"
inkscape:window-height="713"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-46.125709,-203.96962)">
<text
xml:space="preserve"
style="font-size:25.41874695px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="207.28969"
y="232.8351"
id="text2985"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2987"
x="207.28969"
y="232.8351">ISO</tspan></text>
<text
xml:space="preserve"
style="font-size:25.41874695px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="283.46344"
y="413.71973"
id="text2989"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991"
x="283.46344"
y="413.71973">Destination</tspan></text>
<text
xml:space="preserve"
style="font-size:25.41874695px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="54.698387"
y="418.96753"
id="text2993"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2995"
x="54.698387"
y="418.96753">Origin</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);marker-mid:none"
d="M 220.09679,245.37152 C 232.16615,357.12961 124.00654,390.20056 107.76074,384.66823"
id="path2997"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 199.39269,318.75455 3.14661,29.6187"
id="path4575"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 182.74766,332.70997 36.55479,-3.46612"
id="path4577"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);marker-mid:none"
d="M 83.73688,382.08011 C 88.103192,275.58531 148.1267,230.34198 197.99869,222.88388"
id="path2997-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:12.70937347px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="-220.48318"
y="239.13588"
id="text4603"
sodipodi:linespacing="125%"
transform="matrix(0.54987745,-0.83524535,0.83524535,0.54987745,0,0)"><tspan
sodipodi:role="line"
id="tspan4605"
x="-220.48318"
y="239.13588">Self full upgrade</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);marker-mid:none"
d="M 326.59606,424.29148 C 240.18572,486.6891 167.51821,467.4742 130.82731,432.88205"
id="path2997-7-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);marker-mid:none"
d="m 142.095,398.9448 c 47.49742,-33.79929 119.31549,-38.98827 175.10543,-15.95815"
id="path2997-7-9-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:12.70937347px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="209.51233"
y="388.64594"
id="text4603-3"
sodipodi:linespacing="125%"
transform="matrix(0.99997828,0.00659158,-0.00659158,0.99997828,0,0)"><tspan
sodipodi:role="line"
id="tspan4605-6"
x="209.51233"
y="388.64594">Hot clone</tspan></text>
<text
xml:space="preserve"
style="font-size:12.70937347px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="196.79039"
y="452.84583"
id="text4603-3-3"
sodipodi:linespacing="125%"
transform="matrix(0.99997828,0.00659158,-0.00659158,0.99997828,0,0)"><tspan
sodipodi:role="line"
id="tspan4605-6-2"
x="196.79039"
y="452.84583">Clone</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);marker-mid:none"
d="m 242.23456,245.41776 c 3.84684,90.09132 62.34034,128.06675 109.78531,139.54231"
id="path2997-7-9-1-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);marker-mid:none"
d="M 372.54439,382.7887 C 378.9589,308.54843 327.68403,224.55901 258.29952,225.76385"
id="path2997-7-9-1-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 277.52108,329.41789 3.14662,29.6187"
id="path4575-9"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.27093732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 260.87606,343.37331 36.55478,-3.46612"
id="path4577-6"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:12.70937347px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="373.47791"
y="-148.94458"
id="text4603-6"
sodipodi:linespacing="125%"
transform="matrix(0.53956122,0.84194637,-0.84194637,0.53956122,0,0)"><tspan
sodipodi:role="line"
id="tspan4605-0"
x="373.47791"
y="-148.94458">Upgrade from ISO</tspan></text>
<text
xml:space="preserve"
style="font-size:12.70937347px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="-198.01234"
y="269.49597"
id="text4603-37"
sodipodi:linespacing="125%"
transform="matrix(0.54987745,-0.83524535,0.83524535,0.54987745,0,0)"><tspan
sodipodi:role="line"
id="tspan4605-4"
x="-198.01234"
y="269.49597">#7499</tspan></text>
</g>
</svg>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment