Project

General

Profile

Feature #8558

Feature #7544: Have a multiplatform Installer

Feature #8550: Make Tails Installer work on Windows

Study feasibility of porting Tails Installer to Windows

Added by intrigeri almost 5 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Installation
Target version:
Start date:
06/22/2015
Due date:
% Done:

50%

Feature Branch:
kurono:feature/8558-study-installer-windows
Type of work:
Research
Starter:
Affected tool:
Installer

Feature_8558_blueprint.patch View (2.79 KB) kurono, 01/26/2016 06:52 PM

Feature_8558_blueprint.patch View (3.75 KB) kurono, 01/27/2016 05:34 PM


Subtasks

Feature #8552: Rename liveusb-creator to Tails InstallerResolved

Feature #9635: Try building a Python/GI executable on windowsResolved

Feature #10384: Tails Installer: Merge master into feature/jessieResolved

Feature #10425: Clarify needed branches in Tails Installer release documentation and update doc to renameRejected

Feature #10531: Update Tails installer release documentation to match the packaging renameResolved

Feature #10532: Make sure tails-installer is not included in Ubuntu 16.04 LTS (Xenial)Resolvedu

Bug #10538: Do not install tails-installer to $PATHResolved

Bug #10539: "Clone and upgrade" on Jessie pretends my Tails was not installed with our InstallerResolved

Bug #10660: Tails Installer 4.x crashes when a pristine USB drive is pluggedResolved

Feature #10666: Sort out packaging Git repo for Tails Installer in Debian/UbuntuResolved

Bug #10691: Wrong directory name in Tails Installer's tarballResolved

Bug #10692: Deal with Tails Installer' urlgrabber embedded copyResolved


Related issues

Related to Tails - Feature #8560: Study feasibility of porting Tails Installer to OS X Rejected 01/06/2015

Associated revisions

Revision 5ec80a50 (diff)
Added by intrigeri almost 4 years ago

Markdown formatting fixes.

refs: #8558

Revision 27a3f676 (diff)
Added by intrigeri almost 4 years ago

Don't forget about replacing udisks2.

refs: #8558

Revision 90d0820d (diff)
Added by intrigeri almost 4 years ago

Make it clear that we don't need to do LUKS yet.

refs: #8558

Revision 590efdc0 (diff)
Added by intrigeri almost 4 years ago

Fix some typos, add some info and TODO++.

refs: #8558

Revision 4edff64a (diff)
Added by intrigeri almost 4 years ago

Make conclusion a bit more open to other options.

Closes: #8558

History

#2 Updated by intrigeri almost 5 years ago

  • Related to Feature #8560: Study feasibility of porting Tails Installer to OS X added

#3 Updated by alant over 4 years ago

  • Blueprint set to https://tails.boum.org/blueprint/Port_Tails_Installer_to_Windows/

#4 Updated by sajolida over 4 years ago

  • Target version deleted (Hardening_M1)

#6 Updated by sajolida almost 4 years ago

  • Target version set to Tails_2.0

#7 Updated by u almost 4 years ago

  • Assignee changed from u to kurono

#8 Updated by kurono almost 4 years ago

  • File Feature_8558_blueprint.patch View added
  • Status changed from Confirmed to In Progress
  • Assignee deleted (kurono)
  • QA Check set to Ready for QA
  • Feature Branch set to Feature_8558_blueprint.patch

I have attached a patch for the "Port Tails Installer to Windows" blueprint,
https://tails.boum.org/blueprint/Port_Tails_Installer_to_Windows/

#9 Updated by intrigeri almost 4 years ago

  • Assignee set to intrigeri
  • Target version changed from Tails_2.0 to Tails_2.2

I have attached a patch for the "Port Tails Installer to Windows" blueprint,

Thanks, applied! I'll have a look ASAP, unless u beats me to it.

#10 Updated by intrigeri almost 4 years ago

  • Assignee changed from intrigeri to kurono
  • QA Check changed from Ready for QA to Dev Needed

Cool!

Two first very quick comments:

  • what we need is a list of platform-dependent operations we do in the Linux version; you listed the external tools and dependencies, which is a very good start; but I think we need to zoom in on the area that I think can be the hardest one, that is: operations on storage devices; we do lots of platform-dependent work with udisks; we need a list of those operations, and to check how we can do them on Windows;
  • the "diff of the Windows class section" is not enough, since what the original liveusb-creator tool does is not what we need, i.e. the Linux version has diverged a lot on our side (e.g. we do GPT); I think that most of it will be covered by the above point (udisks).

#11 Updated by kurono almost 4 years ago

Ok, ready for the next iteration :)
Attached a new patch.

#12 Updated by kurono almost 4 years ago

  • Assignee deleted (kurono)

#13 Updated by intrigeri almost 4 years ago

  • Assignee set to intrigeri

#14 Updated by intrigeri almost 4 years ago

  • Assignee changed from intrigeri to kurono
  • QA Check changed from Ready for QA to Dev Needed

Ok, ready for the next iteration :)

Thanks!

Attached a new patch.

JFTR, this is being discussed on XMPP: the patch doesn't apply since, as stated earlier, I have already applied the previous patch. kurono is fixing that.

Sorry I may not have been clear enough: we need the full list of platform-dependent operations we do. It's not possible to compile this list from the design doc, that only provides a very high-level overview of what Tails Installer does, rather than of how it does it. So this task really requires reading the source code. I suggest git grep udisks as an entry point. IIRC we also do a few storage operations without udisks. And then, we need to check how we can do them on Windows.

"UDISK" feels like a typo.

Regarding handling of GPT:

  • http://www.rodsbooks.com/gdisk/, that you point to, reads "versions prior to Vista may not be able to read GPT disks at all". I think it's fine not to attempt to support anything older, but perhaps the blueprint should make it clear what versions of Windows it is about?
  • http://www.rodsbooks.com/gdisk/download.html says that no binary build of sgdisk is provided for Windows, so we would need to compile it ourselves, and also ship the popt library, right? Windows XP is the newest version mentioned on http://gnuwin32.sourceforge.net/packages/popt.htm, which feels concerning. We need a bit more info before we can count on using sgdisk on Windows, I think.

#15 Updated by kurono almost 4 years ago

intrigeri wrote:

JFTR, this is being discussed on XMPP: the patch doesn't apply since, as stated earlier, I have already applied the previous patch. > >kurono is fixing that.

This is fixed in kurono/tails feature/8558-study-installer-windows:
https://git-tails.immerda.ch/kurono/tails/

#16 Updated by intrigeri almost 4 years ago

  • Feature Branch changed from Feature_8558_blueprint.patch to kurono:feature/8558-study-installer-windows

This is fixed in [...]

Encoding this via ticket metadata then.

#17 Updated by intrigeri almost 4 years ago

This is fixed in kurono/tails feature/8558-study-installer-windows:

Merged.

#18 Updated by intrigeri almost 4 years ago

  • Description updated (diff)

#19 Updated by kurono almost 4 years ago

  • Assignee changed from kurono to intrigeri
  • QA Check changed from Dev Needed to Ready for QA

intrigeri wrote:

Sorry I may not have been clear enough: we need the full list of platform-dependent operations we do.

Done in kurono/tails feature/8558-study-installer-windows

"versions prior to Vista may not be able to read GPT disks at all".

IMHO this means booting Windows from a device with GPT partition, not running the sgdisk tool.

The only thing popt does is parsing command line parameters,
so in theory it should not be so difficult to run it in other
windows versions, but I could not find more information.
I would need to test it my self in a windows machine.

#20 Updated by intrigeri almost 4 years ago

  • Assignee changed from intrigeri to kurono
  • QA Check changed from Ready for QA to Dev Needed

Great, thanks! I've done a tiny bit more research and pushed some more commits on top. So I think the only thing we lack here before we can call this done is... some kind of conclusion. I've added an empty section for it on the blueprint. Can you draft something there, e.g. at least dump your feelings about this topic? It would be nice to take into account the "PyGI Windows executable" part of the problem.

#21 Updated by kurono almost 4 years ago

  • Assignee changed from kurono to intrigeri
  • QA Check changed from Dev Needed to Ready for QA

Ok, done in Done in kurono/tails feature/8558-study-installer-windows

#22 Updated by intrigeri almost 4 years ago

  • Status changed from In Progress to Resolved
  • Assignee deleted (intrigeri)
  • QA Check changed from Ready for QA to Pass

Thanks!

Also available in: Atom PDF