Existing Ports of and Porting Whonix ™ to other Architectures

From Whonix
< Dev
Jump to navigation Jump to search


Existing Ports of Whonix ™[edit]

Incomplete Ports of Whonix ™[edit]

Existing Ports of Kicksecure ™[edit]

  • ppc64el Kicksecure ™ functional, created using distro-morphing on a test server for Whonix ™ developer Patrick.
  • Distro-morphing should generate viable images for KVM on arm64.

Packages[edit]

NOTE[edit]

info amd64 might imply AMD only. This is wrong.

amd64 means Intel and AMD.

For technical reasons, in Debian (and in many other Linux / Freedom Software related places) both, Intel and AMD, is called amd64. This is common knowledge without controversy among technical people, in doubt see Wikipedia X86-64.

Porting Simplicity[edit]

To simplify ports to other architectures, all of the following packages are optional dependencies. These packages have very useful functionality however to simplify bootstrapping a port of Whonix ™ for a quick motivational milestone to reach of Whonix ™ building and booting, all architecture specific packages are optional dependencies by design in Whonix ™.

Therefore porters do not need to worry about any of the following packages during original porting work.

Most of Whonix ™ packages and all essential packages are architecture independent.

To simplify ports, Whonix ™ repository at time of writing supports the following architectures. [1]

amd64 arm64 armel armhf hurd-i386 hurd-amd64 i386 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc ppc64 ppc64el s390x sparc source

This might be useful for distro-morphing.

Distro-morphing might be the easiest way to create a proof of concept port of Whonix ™. Following the spirit of Free Support Principle, first experimenting with Debian (which Whonix ™ is based on) first might be helpful.

A production quality, redistributable port of Whonix ™ however should be created using Whonix ™ build script instead of distro-morphing.

bindp[edit]

lkrg[edit]

kloak[edit]

corridor[edit]

Hardened Malloc[edit]

Hardened Memory Allocator

monero-gui[edit]

tb-updater[edit]

tirdad[edit]

binaries-freedom[edit]

  • Currently not in use.

tor[edit]

Check Tor SocksPort Reachability[edit]

On Whonix-Workstation ™. Test.

{{Curl_Plain}} 10.152.152.10:9100 ; echo $?

Should show.

<html>
<head>
<title>Tor is not an HTTP Proxy</title>
</head>
<body>
<h1>Tor is not an HTTP Proxy</h1>
<p>
It appears you have configured your web browser to use Tor as an HTTP proxy.
This is not correct: Tor is a SOCKS proxy, not an HTTP proxy.
Please configure your client accordingly.
</p>
<p>
See <a href="https://www.torproject.org/documentation.html">https://www.torproject.org/documentation.html</a> for more information.
<!-- Plus this comment, to make the body response more than 512 bytes, so      IE will be willing to display it. Comment comment comment comment      comment comment comment comment comment comment comment comment.-→
</p>
</body>
</html>
0

Otherwise, it would be a grave error (Tor SocksPort not reachable).

Check CPFP Reachability[edit]

On Whonix-Workstation ™. Test.

{{Curl_Plain}} 10.152.152.10:9052

Should show.

510 Prohibited command "GET / HTTP/1.1"
510 Prohibited command "User-Agent: curl/7.26.0"
510 Prohibited command "Host: 10.152.152.10:9052"
510 Prohibited command "Accept: */*"
510 Unrecognized command ""

Otherwise, it would be a grave error (CPFP not reachable).

Forum Discussion[edit]

https://forums.whonix.org/t/architecture-specific-compiled-third-party-special-packages-porting-whonix/8562

RPM[edit]

These are some random notes about porting Whonix ™ update debs to rpm.

What would have to be done:

  • create rpm package
  • Find a replacement for config-package-dev, a package which allows third party packages (Whonix ™) to own files which are owned by other packages. Such as /etc/tor/torrc is owned by tor, but anon-gw-anonymizer-config includes its own config file.
  • add init scripts (currently done by debhelper)
  • add man pages (currently done by debhelper and ronn, see debian/rules)
  • minor: replacement for dh_apparmor

Footnotes[edit]