summaryrefslogtreecommitdiff
path: root/tracwiki/BinaryPackages.trac
blob: 79204619a1da65fa5d7a940f5955441a1cd60ca1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[[PageOutline]]

= Binary Packages for Cryptech Software and Firmware =

The Cryptech Project maintains APT and Homebrew repositories
containing packaged software for the Cryptech Alpha board for Debian
and Ubuntu Linux and for Mac OS X.  The binary packages also include
pre-compiled images for the Alpha Board's Artix-7 FPGA, Cortex M4 ARM
CPU, and AVR ATtiny828 MCU.

== How to get APT packages for Debian Stretch, Debian Buster, Ubuntu Xenial, or Ubuntu Bionic ==

* Fetch and validate the repository key.  Presumably you're security
  concious (otherwise, why are you installing this stuff?), so you may
  want to pay attention to what `gpg --check-sig` says here.

  {{{
  $ id=37A8E93F5D7E7B9A
  $ wget https://apt.cryptech.is/apt-gpg-key.gpg
  $ gpg --recv-key $id
  $ gpg --check-sig $id
  }}}

* Install the repository key.  We used to use `apt-key(8)` for this,
  these days the cool kids use the `/etc/apt/trusted.gpg.d/` directory:

  {{{
  $ sudo chown root:root apt-gpg-key.gpg
  $ sudo mv apt-gpg-key.gpg /etc/apt/trusted.gpg.d/cryptech.gpg
  }}}

* Configure apt to use the repository.  You need to add a couple of
  entries to `/etc/apt/source.list.d/`; which entries you need to add
  depends on which distribution you're running.
  * For Debian Stretch, do:
    {{{
    $ sudo wget -q -O /etc/apt/sources.list.d/cryptech.list http://apt.cryptech.is/sources.stretch.list
    }}}
  * For Debian Buster, do:
    {{{
    $ sudo wget -q -O /etc/apt/sources.list.d/cryptech.list http://apt.cryptech.is/sources.buster.list
    }}}
  * For Ubuntu Xenial, do:
    {{{
    $ sudo wget -q -O /etc/apt/sources.list.d/cryptech.list http://apt.cryptech.is/sources.xenial.list
    }}}
  * For Ubuntu Bionic, do:
    {{{
    $ sudo wget -q -O /etc/apt/sources.list.d/cryptech.list http://apt.cryptech.is/sources.bionic.list
    }}}


* Update the package index.

  {{{
  $ sudo apt-get update
  }}}

* Install the `cryptech-alpha` package.

  {{{
  $ sudo apt-get install cryptech-alpha
  }}}

== Updating APT packages ==

Once you've performed the steps above you should be able to upgrade to newer
version of the code using the normal APT upgrade process:

{{{
$ sudo apt-get update
$ sudo apt-get upgrade
}}}

== How to get Homebrew packages for Mac OS X ==

* Fetch and validate the repository key.  Presumably you're security
  concious (otherwise, why are you installing this stuff?), so you may
  want to pay attention to what `gpg --check-sig` says here.

  {{{
  $ id=37A8E93F5D7E7B9A
  $ gpg --recv-key $id
  $ gpg --check-sig $id
  }}}

* Configure Homebrew to use the repository.

  {{{
  $ brew tap cryptech/sw https://brew.cryptech.is/tap
  }}}

* Update the package index.

  {{{
  $ brew update
  }}}

* Check the commit signature on the cryptech-alpha package formula.
  This is optional (Homebrew doesn't care whether you do this), but if
  you want to know whether the formula was signed by the Cryptech
  project, this is how to check.

  {{{
  $ brew log --max-count=1 --show-signature cryptech-alpha
  }}}

* Install the `cryptech-alpha` package.  At the moment, this is only
  available as a Homebrew source package due to licensing issues in
  the MacOS Xcode SDK, so the installation will probably take several
  minutes, as some of the libraries are a bit slow to compile (sorry...).

  {{{
  $ brew install cryptech-alpha
  }}}

== Updating Homebrew packages ==

Once you've performed the steps above you should be able to upgrade to newer
version of the code using the normal Homebrew upgrade process:

{{{
$ brew update
$ brew upgrade
$ brew cleanup
}}}