Feature #8558

Study feasibility of porting Tails Installer to Windows

Added by intrigeri 2015-01-06 14:02:55 . Updated 2016-03-03 18:08:35 .

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

50%

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

Description


Files


Subtasks

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

100


Related issues

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

History

#1 Updated by intrigeri 2015-01-06 14:03:13

  • blocks #8538 added

#2 Updated by intrigeri 2015-01-06 14:04:41

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

#3 Updated by alant 2015-08-24 07:07:21

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

#4 Updated by sajolida 2015-09-10 12:03:48

  • Target version deleted (Hardening_M1)

#6 Updated by sajolida 2015-12-18 13:19:29

  • Target version set to Tails_2.0

#7 Updated by Anonymous 2016-01-18 12:42:44

  • Assignee set to kurono

#8 Updated by kurono 2016-01-26 18:53:40

  • File Feature_8558_blueprint.patch 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 2016-01-27 10:54:56

  • 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 2016-01-27 11:05:21

  • 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 2016-01-27 17:35:37

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

#12 Updated by kurono 2016-01-27 17:36:17

  • Assignee deleted (kurono)

#13 Updated by intrigeri 2016-01-27 18:47:43

  • Assignee set to intrigeri

#14 Updated by intrigeri 2016-02-10 14:32:38

  • 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 2016-02-10 14:40:34

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 2016-02-10 15:09:34

  • 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 2016-02-10 15:13:24

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

Merged.

#18 Updated by intrigeri 2016-02-16 13:43:00

  • Description updated

#19 Updated by kurono 2016-02-19 17:46:23

  • 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.

> * http://www.rodsbooks.com/gdisk/download.html says that no binary build of sgdisk is provided for Windows, so we would need to

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 2016-02-28 12:42:54

  • 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 2016-03-03 16:09:20

  • 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 2016-03-03 18:08:35

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

Thanks!